Annonces natives en superposition

Commencer

Les annonces natives en superposition sont présentées aux utilisateurs via des composants d'interface utilisateur natifs pour la plate-forme. Ces annonces sont présentées en superposition sur l'application. Cela ressemble à la façon dont fonctionnent les bannières, mais avec la possibilité de personnaliser l'apparence des annonces.

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 en superposition natives dans une application Unity, ainsi que quelques points importants à prendre en compte au cours du processus.

Prérequis

Effectuez toujours 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 de test plutôt que des annonces de production pour chaque requête, ce qui le rend sûr à utiliser.

Toutefois, une fois que vous avez 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 en superposition native, utilisez la méthode statique Load() 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 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 native en superposition. Utilisez la constante NativeTemplateID pour choisir un modèle natif approprié pour votre annonce.

Le code suivant affiche l'annonce native superposée 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 native en superposition

Le code suivant montre comment afficher 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();
    }
}

Supprimer l'annonce native en superposition

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