Native Overlay-Anzeigen

Jetzt starten

Native Overlay-Anzeigen werden Nutzern über UI-Komponenten präsentiert, die für die Plattform nativ sind. Diese Anzeigen werden als Overlay über der App präsentiert. Das funktioniert ähnlich wie bei Bannern, mit der Möglichkeit, das Erscheinungsbild der Anzeigen anzupassen.

Für native Overlay-Anzeigen werden Vermittlung und Videoanzeigen unterstützt. Das ist ein wichtiger Vorteil von nativen Overlay-Anzeigen gegenüber nativen Anzeigen.

In diesem Leitfaden erfahren Sie, wie Sie native Overlay-Anzeigen in einer Unity-App implementieren. Außerdem werden einige wichtige Aspekte erläutert, die Sie dabei berücksichtigen sollten.

Vorbereitung

  • Führen Sie die Schritte im Startleitfaden aus.
  • Unity-Plug-in 9.0.0 oder höher

Verwenden Sie immer Testanzeigen

Der folgende Beispielcode enthält eine Anzeigenblock-ID, mit der Sie Testanzeigen anfordern können. Er wurde speziell so konfiguriert, dass bei jeder Anfrage Testanzeigen statt Produktionsanzeigen zurückgegeben werden.

Nachdem Sie jedoch eine App in der AdMob-Weboberfläche registriert und eigene Anzeigenblock-IDs für die Verwendung in Ihrer App erstellt haben, müssen Sie Ihr Gerät während der Entwicklung explizit als Testgerät konfigurieren.

Android

ca-app-pub-3940256099942544/2247696110

iOS

ca-app-pub-3940256099942544/3986624511

Native Overlay-Anzeige laden

Zum Laden einer nativen Overlay-Anzeige wird die statische Methode Load() der Klasse NativeOverlayAd verwendet. Das geladene NativeOverlayAd-Objekt wird als Parameter im Abschluss-Handler bereitgestellt.

Im folgenden Code wird NativeOverlayAd verwendet, um eine Anzeige zu laden:



  // These ad units are configured to always serve test ads.
#if UNITY_ANDROID
  private string _adUnitId = "ca-app-pub-3940256099942544/2247696110";
#elif UNITY_IPHONE
  private string _adUnitId = "ca-app-pub-3940256099942544/3986624511";
#else
  private string _adUnitId = "unused";
#endif


private NativeOverlayAd _nativeOverlayAd;

/// <summary>
/// Loads the ad.
/// </summary>
public void LoadAd()
{
    // Clean up the old ad before loading a new one.
    if (_nativeOverlayAd != null)
    {
        DestroyAd();
    }

    Debug.Log("Loading native overlay ad.");

    // Create a request used to load the ad.
    var adRequest = new AdRequest();

    // Optional: Define native ad options.
    var options = new NativeAdOptions
    {
        AdChoicesPosition = AdChoicesPlacement.TopRightCorner,
        MediaAspectRatio = NativeMediaAspectRatio.Any,
    };

    // Send the request to load the ad.
    NativeOverlayAd.Load(_adUnitId, adRequest, options,
        (NativeOverlayAd ad, LoadAdError error) =>
    {
        if (error != null)
        {
            Debug.LogError("Native Overlay ad failed to load an ad " +
                           " with error: " + error);
            return;
        }

        // The ad should always be non-null if the error is null, but
        // double-check to avoid a crash.
        if (ad == null)
        {
            Debug.LogError("Unexpected error: Native Overlay ad load event " +
                           " fired with null ad and null error.");
            return;
        }

        // The operation completed successfully.
        Debug.Log("Native Overlay ad loaded with response : " +
                   ad.GetResponseInfo());
        _nativeOverlayAd = ad;

        // Register to ad events to extend functionality.
        RegisterEventHandlers(ad);
    });
}

Native Overlay-Anzeige rendern und gestalten

Native Overlay-Anzeigen werden mit einem NativeTemplateStyle gerendert. Diese Klasse definiert Felder, mit denen Sie das Erscheinungsbild der Anzeige anpassen können.

TemplateID ist ein erforderlicher String, der die native Vorlage definiert, die zum Rendern der nativen Overlay-Anzeige verwendet wird. Verwenden Sie die Konstante NativeTemplateID, um eine geeignete native Vorlage für Ihre Anzeige auszuwählen.

Im folgenden Code wird die native Overlay-Anzeige mit einer Medium-Vorlage und einem benutzerdefinierten Stil gerendert.

/// <summary>
/// Renders the ad.
/// </summary>
public void RenderAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Rendering Native Overlay ad.");

        // Define a native template style with a custom style.
        var style = new NativeTemplateStyle
        {
            TemplateID = NativeTemplateID.Medium,
            MainBackgroundColor = Color.red,
            CallToActionText = new NativeTemplateTextStyles
            {
                BackgroundColor = Color.green,
                FontColor = Color.white,
                FontSize = 9,
                Style = NativeTemplateFontStyle.Bold
            }
        };

        // Renders a native overlay ad at the default size
        // and anchored to the bottom of the screne.
        _nativeOverlayAd.RenderTemplate(style, AdPosition.Bottom);
    }
}

Native Overlay-Anzeige ein- und ausblenden

Im folgenden Code wird gezeigt, wie eine geladene native Overlay-Anzeige ausgeliefert wird.

/// <summary>
/// Shows the ad.
/// </summary>
public void ShowAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Showing Native Overlay ad.");
        _nativeOverlayAd.Show();
    }
}

Native Overlay-Anzeige ausblenden

Im folgenden Code wird gezeigt, wie eine native Overlay-Anzeige ausgeblendet wird.

/// <summary>
/// Hides the ad.
/// </summary>
public void HideAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Hiding Native Overlay ad.");
        _nativeOverlayAd.Hide();
    }
}

Native Overlay-Anzeige zerstören

Wenn du die native Overlay-Anzeige nicht mehr verwendest, musst du Destroy() aufrufen, um die Ressourcen freizugeben.

/// <summary>
/// Destroys the native overlay ad.
/// </summary>
public void DestroyAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Destroying native overlay ad.");
        _nativeOverlayAd.Destroy();
        _nativeOverlayAd = null;
    }
}

Nächste Schritte