Anuncios nativos superpuestos

Comenzar

Los anuncios superpuestos nativos se presentan a los usuarios a través de componentes de la IU nativos de la plataforma. Estos anuncios se presentan como una superposición sobre la aplicación. Esto es similar al funcionamiento de los anuncios de banner, pero con la capacidad de personalizar su apariencia.

Los anuncios superpuestos nativos admiten la mediación y los anuncios de video. Esta es una ventaja clave que tienen los anuncios superpuestos nativos sobre los anuncios nativos.

En esta guía, se muestra cómo implementar anuncios superpuestos nativos en una app para Unity, así como algunos aspectos importantes que debes tener en cuenta en el proceso.

Requisitos previos

Siempre realiza pruebas con anuncios de prueba

El siguiente código de muestra contiene un ID de unidad de anuncios que puedes usar para solicitar anuncios de prueba. Se configuró de forma especial para mostrar anuncios de prueba en lugar de anuncios de producción para cada solicitud, lo que lo hace seguro de usar.

Sin embargo, después de registrar una app en la interfaz web de AdMob y crear tus propios IDs de unidad de anuncios para usar en tu app, configura tu dispositivo como un dispositivo de prueba de forma explícita durante el desarrollo.

Android

ca-app-pub-3940256099942544/2247696110

iOS

ca-app-pub-3940256099942544/3986624511

Carga el anuncio superpuesto nativo

Para cargar un anuncio superpuesto nativo, puedes utilizar el método estático Load() en la clase NativeOverlayAd. El objeto NativeOverlayAd cargado se incluye como un parámetro en el controlador de finalización.

En el siguiente código, se usa NativeOverlayAd para cargar un anuncio:



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

Renderiza y aplica un estilo al anuncio superpuesto nativo

Los anuncios superpuestos nativos se renderizan con un NativeTemplateStyle. Esta clase define campos que te permiten personalizar el aspecto del anuncio.

TemplateID es una cadena obligatoria que define la plantilla nativa que se usa para renderizar el anuncio superpuesto nativo. Usa la constante NativeTemplateID para elegir una plantilla nativa adecuada para tu anuncio.

El siguiente código renderiza el anuncio superpuesto nativo con una plantilla mediana y un estilo personalizado.

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

Cómo mostrar y ocultar el anuncio superpuesto nativo

En el siguiente código, se muestra cómo mostrar un anuncio superpuesto nativo cargado.

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

Oculta el anuncio superpuesto nativo

En el siguiente código, se muestra cómo ocultar un anuncio superpuesto nativo.

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

Destruye el anuncio superpuesto nativo

Cuando termines de usar el anuncio superpuesto nativo, asegúrate de llamar a Destroy() para liberar los recursos.

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

Próximos pasos