Anuncios intersticiales

Selecciona la plataforma: Android iOS Unity Flutter

Los anuncios intersticiales son de pantalla completa y cubren la interfaz de la app que aloja el anuncio. Por lo general, se muestran en puntos de transición natural del flujo de una app (por ejemplo, entre las actividades o durante la pausa que se realiza de un nivel a otro de un juego). Cuando una app muestra un anuncio intersticial, el usuario tiene la opción de presionar el anuncio y pasar a su destino, o bien de cerrarlo y volver a la app. Lee uno de nuestros casos de éxito.

Esta guía explica cómo integrar los anuncios intersticiales en una app para Android.

Requisitos previos

  • SDK de anuncios de Google para dispositivos móviles 19.7.0 o una versión posterior
  • Completar la guía de introducción

Haz siempre una comprobación con anuncios de prueba

Al compilar y verificar tus apps, asegúrate de usar anuncios de prueba en vez de anuncios activos en fase de producción. De lo contrario, tu cuenta podría suspenderse.

La forma más sencilla de cargar anuncios de prueba es usar nuestro ID de unidad de anuncios de prueba exclusivo para los anuncios intersticiales en Android:

ca-app-pub-3940256099942544/1033173712

Está configurado especialmente para devolver anuncios de prueba en cada solicitud, y puedes usarlo en tus propias apps mientras realizas tus actividades de programación, prueba y depuración. Solo asegúrate de reemplazarlo por tu propio ID de unidad de anuncios antes de publicar tu app.

Para obtener más información sobre el funcionamiento de los anuncios de prueba del SDK de anuncios de Google para dispositivos móviles, consulta la sección sobre anuncios de prueba.

Carga un anuncio

Para cargar un anuncio intersticial, llama al método load() estático de InterstitialAd y pasa InterstitialAdLoadCallback para recibir el anuncio cargado o posibles errores. Ten en cuenta que, al igual que otras devoluciones de llamada de carga de formatos, InterstitialAdLoadCallback utiliza LoadAdError para proporcionar detalles de error con mayor fidelidad.

Java

InterstitialAd.load(
    this,
    AD_UNIT_ID,
    new AdRequest.Builder().build(),
    new InterstitialAdLoadCallback() {
      @Override
      public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
        Log.d(TAG, "Ad was loaded.");
        MyActivity.this.interstitialAd = interstitialAd;
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
        Log.d(TAG, loadAdError.getMessage());
        interstitialAd = null;
    });

Kotlin

InterstitialAd.load(
  this,
  AD_UNIT_ID,
  AdRequest.Builder().build(),
  object : InterstitialAdLoadCallback() {
    override fun onAdLoaded(ad: InterstitialAd) {
      Log.d(TAG, "Ad was loaded.")
      interstitialAd = ad
    }

    override fun onAdFailedToLoad(adError: LoadAdError) {
      Log.d(TAG, adError.message)
      interstitialAd = null
    }
  },
)

Establece el objeto FullScreenContentCallback

El objeto FullScreenContentCallback procesa los eventos relacionados con la visualización de tu InterstitialAd. Antes de mostrar el InterstitialAd, asegúrate de configurar la devolución de llamada:

Java

interstitialAd.setFullScreenContentCallback(
    new FullScreenContentCallback() {
      @Override
      public void onAdDismissedFullScreenContent() {
        // Called when fullscreen content is dismissed.
        Log.d(TAG, "The ad was dismissed.");
        // Make sure to set your reference to null so you don't
        // show it a second time.
        MyActivity.this.interstitialAd = null;
      }

      @Override
      public void onAdFailedToShowFullScreenContent(AdError adError) {
        // Called when fullscreen content failed to show.
        Log.d(TAG, "The ad failed to show.");
        // Make sure to set your reference to null so you don't
        // show it a second time.
        MyActivity.this.interstitialAd = null;
      }

      @Override
      public void onAdShowedFullScreenContent() {
        // Called when fullscreen content is shown.
        Log.d(TAG, "The ad was shown.");
      }

      @Override
      public void onAdImpression() {
        // Called when an impression is recorded for an ad.
        Log.d(TAG, "The ad recorded an impression.");
      }

      @Override
      public void onAdClicked() {
        // Called when ad is clicked.
        Log.d(TAG, "The ad was clicked.");
      }
    });

Kotlin

interstitialAd?.fullScreenContentCallback =
  object : FullScreenContentCallback() {
    override fun onAdDismissedFullScreenContent() {
      // Called when fullscreen content is dismissed.
      Log.d(TAG, "Ad was dismissed.")
      // Don't forget to set the ad reference to null so you
      // don't show the ad a second time.
      interstitialAd = null
    }

    override fun onAdFailedToShowFullScreenContent(adError: AdError) {
      // Called when fullscreen content failed to show.
      Log.d(TAG, "Ad failed to show.")
      // Don't forget to set the ad reference to null so you
      // don't show the ad a second time.
      interstitialAd = null
    }

    override fun onAdShowedFullScreenContent() {
      // Called when fullscreen content is shown.
      Log.d(TAG, "Ad showed fullscreen content.")
    }

    override fun onAdImpression() {
      // Called when an impression is recorded for an ad.
      Log.d(TAG, "Ad recorded an impression.")
    }

    override fun onAdClicked() {
      // Called when ad is clicked.
      Log.d(TAG, "Ad was clicked.")
    }
  }

Muestra el anuncio

Los anuncios intersticiales se deberían mostrar durante las pausas naturales del flujo de una app. Un buen ejemplo es hacerlo entre los niveles de un juego o después de que el usuario completa una tarea. Para mostrar un anuncio intersticial, usa el método show().

Java

if (interstitialAd != null) {
  interstitialAd.show(this);
} else {
  Log.d(TAG, "The interstitial ad is still loading.");
}

Kotlin

interstitialAd?.show(this)

Algunas prácticas recomendadas

Considera si los anuncios intersticiales son el tipo de anuncio adecuado para tu app.
Los anuncios intersticiales funcionan mejor en las apps que tienen puntos de transición natural. La conclusión de una tarea en una app, como compartir una imagen o completar un nivel de un juego, constituye ese tipo de punto de transición. Asegúrate de tener en cuenta en qué puntos del flujo de trabajo de tu app mostrarás anuncios intersticiales y de qué manera es probable que responda el usuario.
Recuerda detener la acción cuando muestres un anuncio intersticial.
Existen varios tipos distintos de anuncios intersticiales: de texto, con imagen, de video y muchos más. Es importante que te asegures de que tu app, al mostrar un anuncio intersticial, también suspenda su uso de algunos recursos para permitir que el anuncio pueda utilizarlos. Por ejemplo, cuando hagas la llamada para mostrar un anuncio intersticial, asegúrate de pausar cualquier salida de audio que produzca tu app.
Permite que transcurra un tiempo de carga adecuado.
Además de asegurarte de mostrar anuncios intersticiales en un momento adecuado, también es importante que el usuario no tenga que esperar a que se carguen. Si llamas a load() antes de show() para cargar el anuncio con antelación, puedes asegurarte de que tu app tenga un anuncio intersticial completamente cargado y listo cuando llegue el momento de mostrar uno.
No satures al usuario con anuncios.
Si bien aumentar la frecuencia de los anuncios intersticiales en tu app puede parecer una excelente manera de aumentar los ingresos, también puede perjudicar la experiencia del usuario y reducir las tasas de clics. Asegúrate de que los usuarios no experimenten interrupciones con tanta frecuencia que ya no puedan disfrutar de tu app.

Código fuente

Ejemplos en GitHub

  • Ejemplo de anuncios intersticiales: Java | Kotlin

Historias de éxito

Próximos pasos