Annonces natives en superposition

Commencer

Les annonces natives en superposition sont présentées aux utilisateurs par le biais de composants natifs de l'interface utilisateur. sur la plate-forme. Ces annonces sont diffusées en superposition application. Ce fonctionnement est semblable à celui des bannières, personnaliser l'apparence des annonces.

Les annonces en superposition natives sont compatibles avec la médiation et les annonces vidéo. Il s'agit d'un avantage clé les annonces en superposition s'affichent par rapport aux annonces natives.

Ce guide vous explique comment implémenter des annonces en superposition natives dans une application Unity, que certains points importants à prendre en compte en cours de route.

Prérequis

Toujours tester avec des annonces tests

L'exemple de code suivant contient un ID de bloc d'annonces que vous pouvez utiliser pour demander des annonces tests. Il a été spécialement configuré pour renvoyer des annonces tests des annonces de production pour chaque requête, ce qui vous permet de les utiliser en toute sécurité.

Cependant, une fois que vous avez enregistré une application dans L'interface Web AdMob et créé votre propre bloc d'annonces ID à utiliser dans votre application, configurez explicitement votre appareil en tant que test de l'appareil développement d'applications.

Android

ca-app-pub-3940256099942544/2247696110

iOS

ca-app-pub-3940256099942544/3986624511

Charger l'annonce native en superposition

Le chargement d'une annonce en superposition native s'effectue à l'aide de la méthode statique Load() sur la classe NativeOverlayAd. L'objet NativeOverlayAd chargé est fourni en tant que un paramètre dans le gestionnaire d'achèvement.

Le code suivant utilise NativeOverlayAd pour charger une annonce:



  // 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);
    });
}

Afficher l'annonce native en superposition et lui appliquer un style

Les annonces natives en superposition sont affichées à l'aide d'un NativeTemplateStyle. Ce cours définit des champs vous permettant de personnaliser l'apparence de l'annonce.

TemplateID est une chaîne obligatoire qui définit le modèle natif utilisé pour l'annonce native en superposition. Utilisez la constante NativeTemplateID pour choisir une le modèle natif approprié pour votre annonce.

Le code suivant permet d'afficher l'annonce native en superposition avec un modèle de taille moyenne et une dans un style personnalisé.

/// <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);
    }
}

Afficher et masquer l'annonce native en superposition

Le code suivant montre comment diffuser une annonce native en superposition chargée.

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

Masquer l'annonce native en superposition

Le code suivant montre comment masquer une annonce en superposition native.

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

Détruire l'annonce native en superposition

Lorsque vous avez terminé d'utiliser l'annonce native en superposition, veillez à appeler Destroy() pour pour libérer des ressources.

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

Étapes suivantes