Annonces natives en superposition

Sélectionnez une plate-forme : Android iOS Flutter Unity

Commencer

Les annonces natives en superposition sont présentées aux utilisateurs à l'aide de composants d'interface utilisateur natifs pour la plate-forme. Ces annonces sont présentées sous forme de superposition sur l'application. Elles fonctionnent de la même manière que les bannières, mais vous pouvez personnaliser leur apparence.

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

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

Prérequis

Toujours effectuer des tests 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 plutôt que des annonces de production pour chaque demande, ce qui le rend sûr à utiliser.

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/2247696110

iOS

ca-app-pub-3940256099942544/3986624511

Charger l'annonce native en superposition

Pour charger une annonce native en superposition, 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 et styliser l'annonce native en superposition

Les annonces natives en superposition sont affichées à l'aide d'un NativeTemplateStyle. Cette classe définit les 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 native en superposition. Utilisez la constante NativeTemplateID pour choisir un modèle natif approprié pour votre annonce.

Le code suivant affiche l'annonce superposée native avec un modèle moyen 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 native en superposition

Le code suivant montre comment afficher une annonce native superposée 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 overlay 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 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