Annonces natives en superposition

Commencer

Les annonces en superposition natives sont présentées aux utilisateurs via des composants d'interface utilisateur natifs de la plate-forme. Ces annonces s'affichent en superposition sur l'application. Le fonctionnement est semblable à celui des bannières, mais vous pouvez 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é des annonces en superposition natives par rapport aux annonces natives.

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

Prérequis

Avant de continuer, procédez comme suit :

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 de test plutôt que des annonces de production pour chaque demande, ce qui permet de l'utiliser en toute sécurité.

Toutefois, après avoir enregistré une application dans l'interface Web AdMob et créé vos propres ID de bloc d'annonces à utiliser dans votre application, configurez explicitement votre appareil en tant qu'appareil de test pendant le développement.

Android

ca-app-pub-3940256099942544/1033173712

iOS

ca-app-pub-3940256099942544/4411468910

Charger l'annonce en superposition native

Pour charger une annonce en superposition native, la méthode statique Load() doit être utilisée sur la classe NativeOverlayAd. L'objet NativeOverlayAd chargé est fourni en tant que 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 en superposition native et définir son style

Les annonces en superposition natives sont affichées à l'aide d'un NativeTemplateStyle. Cette classe définit des champs qui vous permettent de personnaliser l'apparence de l'annonce.

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

Le code suivant affiche l'annonce en superposition native avec un modèle de taille moyenne et 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 en superposition native

Le code suivant montre comment afficher une annonce en superposition native 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();
    }
}

Supprimer l'annonce en superposition native

Lorsque vous avez terminé d'utiliser l'annonce en superposition native, veillez à appeler Destroy() pour libérer les 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