Anuncios intersticiales

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Los anuncios intersticiales son anuncios de pantalla completa que cubren la interfaz de su app host. Por lo general, se muestran en puntos de transición naturales del flujo de una app, como durante la pausa entre niveles de un juego. Cuando una app muestra un anuncio intersticial, el usuario tiene la opción de presionar en el anuncio y continuar con su destino, o cerrarlo y volver a la app. Caso de éxito.

En esta guía, se explica cómo integrar anuncios intersticiales a una app de Unity.

Requisitos previos

Cómo crear un anuncio intersticial

El primer paso para mostrar un anuncio intersticial es crear un objeto InterstitialAd en una secuencia de comandos adjunta a un GameObject.

Para facilitar la integración de anuncios con Unity Editor, prueba la nueva versión Beta de las posiciones de anuncios.

using GoogleMobileAds.Api;
...

private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
}

El constructor de InterstitialAd tiene el siguiente parámetro:

  • adUnitId: Es el ID del bloque de anuncios de AdMob desde el que InterstitialAd debe cargar los anuncios.

Es importante tener en cuenta cómo se usan diferentes bloques de anuncios, según la plataforma. Deberás usar un bloque de anuncios de iOS para realizar solicitudes de anuncios en iOS y un bloque de anuncios de Android para realizar solicitudes en Android.

Probar siempre con anuncios de prueba

El código de muestra anterior contiene un ID de bloque de anuncios y puedes solicitar anuncios con él. Se configuró en especial para mostrar anuncios de prueba en lugar de anuncios de producción para cada solicitud, lo que hace que sea seguro utilizarlo.

Sin embargo, una vez que registres una app en la IU de AdMob y crees tus propios ID de bloque de anuncios para usarlos en tu app, deberás configurar tu dispositivo como un dispositivo de prueba de forma explícita cuando desarrolles. Esto es extremadamente importante. Realizar pruebas con anuncios reales (incluso si nunca los presiona) infringe la política de AdMob y puede causar la suspensión de su cuenta. Consulta Anuncios de prueba para obtener información sobre cómo asegurarte de que siempre obtengas anuncios de prueba durante el desarrollo.

Cargar un anuncio

Una vez que se crea una instancia de InterstitialAd, el siguiente paso es cargar un anuncio. Para ello, se usa el método loadAd() en la clase InterstitialAd. Toma un argumento AdRequest, que contiene información del tiempo de ejecución (como información de orientación) sobre una sola solicitud de anuncio.

A continuación, le mostramos un ejemplo que muestra cómo cargar un anuncio:

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

Mostrar el anuncio

Los anuncios intersticiales se deben mostrar durante las pausas naturales en el flujo de una aplicación. Entre los niveles de un juego, es un buen ejemplo o después de que el usuario completa una tarea. Para mostrar un anuncio intersticial, usa el método isLoaded() a fin de verificar que se haya terminado de cargar y, luego, llama a show().

El anuncio intersticial del ejemplo de código anterior se podría mostrar al final de un juego, como se muestra a continuación.

private void GameOver()
{
  if (this.interstitial.IsLoaded()) {
    this.interstitial.Show();
  }
}

Eventos de anuncios

Para personalizar aún más el comportamiento de tu anuncio, puedes conectarte a una serie de eventos en el ciclo de vida del anuncio: cargar, abrir, cerrar, etcétera. A fin de escuchar estos eventos, registra un delegado para la EventHandler apropiada, como se muestra a continuación.

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

     // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);

    // Called when an ad request has successfully loaded.
    this.interstitial.OnAdLoaded += HandleOnAdLoaded;
    // Called when an ad request failed to load.
    this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
    // Called when an ad is shown.
    this.interstitial.OnAdOpening += HandleOnAdOpening;
    // Called when the ad is closed.
    this.interstitial.OnAdClosed += HandleOnAdClosed;

    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

public void HandleOnAdLoaded(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdLoaded event received");
}

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    MonoBehaviour.print("HandleFailedToReceiveAd event received with message: "
                        + args.Message);
}

public void HandleOnAdOpening(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdOpening event received");
}

public void HandleOnAdClosed(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdClosed event received");
}

El evento OnAdFailedToLoad contiene argumentos de eventos especiales. Pasa una instancia de HandleAdFailedToLoadEventArgs con un Message que describe el error:

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    print("Interstitial failed to load: " + args.Message);
    // Handle the ad failed to load event.
}
Evento de anuncioDescripción
OnAdLoaded El evento OnAdLoaded se ejecuta cuando un anuncio termina de cargarse.
OnAdFailedToLoad Se invoca el evento OnAdFailedToLoad cuando no se puede cargar un anuncio. El parámetro Message describe el tipo de falla que se produjo.
OnAdOpening Este método se invoca cuando se muestra el anuncio y cubre la pantalla del dispositivo.
OnAdClosed Este método se invoca cuando el anuncio intersticial se cierra debido a que el usuario presiona el ícono de cierre o usa el botón Atrás. Si tu app pausó la salida de audio o el bucle de juego, este es un excelente lugar para reanudarla.

Cómo limpiar anuncios intersticiales

Cuando termines con un InterstitialAd, asegúrate de llamar al método Destroy() antes de quitar la referencia a él:

interstitial.Destroy();

Esto notifica al complemento que el objeto ya no se usa y la memoria que ocupa se puede reclamar. Si no se llama a este método, se producirán pérdidas de memoria.

Algunas prácticas recomendadas

Considera si los anuncios intersticiales son el tipo de anuncio adecuado para tu app.
Los anuncios intersticiales funcionan mejor en apps con puntos de transición naturales. La conclusión de una tarea dentro de una app, como compartir una imagen o completar un nivel de un juego, crea ese punto. Como el usuario espera una pausa en la acción, es fácil presentar un anuncio intersticial sin interrumpir su experiencia. Asegúrate de tener en cuenta los puntos del flujo de trabajo de tu app en los que mostrarás anuncios intersticiales y la posible respuesta del usuario.
Recuerde detener la acción cuando muestre un anuncio intersticial.
Existen varios tipos de anuncios intersticiales: texto, imagen, video y muchos más. Es importante asegurarse de que, cuando la app muestre un anuncio intersticial, también suspenda el uso de algunos recursos para que el anuncio los aproveche. Por ejemplo, cuando realices la llamada para mostrar un anuncio intersticial, asegúrate de pausar la salida de audio que genere la app. Puedes reanudar la reproducción de sonidos en el controlador de eventos onAdClosed(), que se invocará cuando el usuario haya terminado de interactuar con el anuncio. Además, considera la opción de detener de forma temporal cualquier tarea de cálculo intensa (como un bucle de juego) mientras se muestra el anuncio. Esto garantizará que el usuario no experimente gráficos lentos o que no respondan ni videos entrecortados.
Proporciona un tiempo de carga adecuado.
Así como es importante asegurarse de mostrar anuncios intersticiales en un momento adecuado, también lo es asegurarse de que el usuario no tenga que esperar a que se carguen. Cargar el anuncio por adelantado llamando a loadAd() antes de llamar a show() puede garantizar que tu app tenga un anuncio intersticial completamente cargado cuando esté listo para mostrarlo.
No sobrecargues al usuario con anuncios.
Aunque aumentar la frecuencia de los anuncios intersticiales en la app puede parecer una excelente manera de aumentar los ingresos, también puede disminuir la experiencia del usuario y disminuir las tasas de clics. Asegúrate de que los usuarios no se interrumpan con tanta frecuencia que ya no puedan disfrutar de tu app.

Recursos adicionales

Muestras

Historias de éxito