Anuncios intersticiales

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

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 en producción activos. 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 detalles sobre los anuncios de prueba del Google Mobile Ads SDK (Legacy), consulta Habilita los 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)

Código fuente

Ejemplos en GitHub

  • Ejemplo de anuncios intersticiales: Java | Kotlin

Historias de éxito

Próximos pasos