Anuncios intersticiales (heredados)

Los anuncios intersticiales son anuncios de pantalla completa que cubren la interfaz de la aplicación que la aloja. Normalmente, se muestran en puntos de transición naturales en el flujo de una aplicación, como durante la pausa entre niveles de un juego. Cuando una app muestra un anuncio intersticial, el usuario puede presionarlo y continuar hasta su destino, o bien cerrarlo y volver a la app. Caso de éxito.

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

Requisitos previos

Crea un anuncio intersticial

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

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 de la unidad de anuncios de AdMob desde el que se debe utilizar InterstitialAd. cargar anuncios.

Es importante tener en cuenta cómo se usan las distintas unidades de anuncios, según el plataforma. Deberás usar una unidad de anuncios de iOS para realizar solicitudes de anuncios en iOS y una Unidad 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 unidad de anuncios. Puedes solicitar anuncios con que la modifica. Ha sido configurada especialmente para devolver anuncios de prueba en lugar de anuncios en producción para cada solicitud, por lo que es seguro de usar.

Sin embargo, una vez que registres una app en la IU de AdMob y crees tu propia unidad de anuncios para usarlos en tu app, deberás configurar explícitamente tu dispositivo como dispositivo de prueba en desarrollo. Esto es extremadamente importante. Realizar pruebas con anuncios reales (incluso si no los presiones) infringe la política de AdMob y puede causar que tu cuenta suspendida. Consulta Anuncios de prueba para obtener información sobre cómo asegurarte de obtener siempre anuncios de prueba durante el desarrollo.

Carga un anuncio

Una vez que se crea una instancia de InterstitialAd, el siguiente paso es cargar un anuncio. Esto se hace con el método loadAd() en la clase InterstitialAd. Lleva Un argumento AdRequest, que contiene información del entorno de ejecución (como la orientación ) sobre una sola solicitud de anuncio.

A continuación, se incluye 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);
}

Muestra el anuncio

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

El anuncio intersticial del ejemplo de código anterior podría mostrarse 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 su anuncio, puede vincular en el ciclo de vida del anuncio: carga, apertura, cierre, etc. Escuchar estos eventos registrando un delegado para el EventHandler correspondiente, como que 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 un instancia de HandleAdFailedToLoadEventArgs con un Message que describe la error:

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    print("Interstitial failed to load: " + args.Message);
    // Handle the ad failed to load event.
}
Evento de anunciosDescripción
OnAdLoaded El evento OnAdLoaded se ejecuta cuando finaliza un anuncio. cargando.
OnAdFailedToLoad El evento OnAdFailedToLoad se invoca cuando un anuncio no logra de carga de trabajo. El parámetro Message describe el tipo de falla que para determinar si se produjo un error.
OnAdOpening Este método se invoca cuando se muestra el anuncio, lo que cubre la cobertura en la pantalla.
OnAdClosed Este método se invoca cuando se cierra el anuncio intersticial debido a el usuario presiona el icono de cerrar o el botón Atrás. Si su aplicación pausa la salida de audio o el bucle de juego, este es el lugar ideal para reanudarlo.

Cómo limpiar los anuncios intersticiales

Cuando termines con un InterstitialAd, asegúrate de llamar a Destroy(). antes de descartar tu referencia:

interstitial.Destroy();

Esto notifica al complemento que el objeto ya no se usa y la memoria que ocuparse de ellos. Si no se llama a este método, se generarán fugas de memoria.

Prácticas recomendadas

Determina 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 aplicación, como compartir una imagen o completar una nivel del juego, crea un punto así. Como el usuario espera un receso en la realizar una acción, presentar un anuncio intersticial sin interrumpir una experiencia fluida a los desarrolladores. 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.
Recuerda pausar la acción cuando muestres un anuncio intersticial.
Existen varios tipos de anuncios intersticiales: de texto, con imágenes, video y mucho más. Es importante que te asegures de que cuando tu app muestre una anuncio intersticial, también suspende su uso de algunos recursos para permitir que el anuncio los aproveche. Por ejemplo, cuando realices la llamada para mostrar un anuncio intersticial, asegúrate de pausar la salida de audio producida por tu 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 detener transitoriamente 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 responden, o videos entrecortados
Proporciona un tiempo de carga adecuado.
Así como es importante asegurarse de mostrar anuncios intersticiales en una el tiempo adecuado, también es importante que el usuario no tenga que esperar para que se carguen. Para cargar el anuncio por adelantado, llama a loadAd() antes de que llames a show() puede garantizar que tu app tenga un anuncio intersticial cargado por completo estará listo cuando llegue el momento de mostrar uno.
No sobrecargues al usuario con anuncios.
Aunque aumentar la frecuencia de los anuncios intersticiales en tu app podría parecer como una excelente manera de aumentar los ingresos, también puede perjudicar la experiencia del usuario y disminuir las tasas de clics. Asegúrate de que los usuarios no tengan tanta frecuencia que ya no puedan disfrutar del uso de la app.

Recursos adicionales

Ejemplos

Historias de éxito