Anuncios intersticiales

Los anuncios intersticiales son anuncios de pantalla completa que cubren la interfaz de la app host. Por lo general, se muestran en puntos de transición naturales en el flujo de una app, como entre actividades o durante la pausa entre niveles de un juego. Cuando una app muestra un anuncio intersticial, el usuario puede presionar el anuncio y continuar hasta su destino, o bien cerrarlo y regresar a la app.

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

Requisitos previos

Haz siempre una comprobación con anuncios de prueba

A la hora de desarrollar 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:

/21775744923/example/interstitial

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 AdManagerInterstitialAd y pasa AdManagerInterstitialAdLoadCallback para recibir el anuncio cargado o posibles errores. Ten en cuenta que, al igual que otras devoluciones de llamada de carga de formatos, AdManagerInterstitialAdLoadCallback utiliza LoadAdError para proporcionar detalles de error con mayor fidelidad.

Java

AdManagerInterstitialAd.load(
    this,
    AD_UNIT_ID,
    new AdManagerAdRequest.Builder().build(),
    new AdManagerInterstitialAdLoadCallback() {
      @Override
      public void onAdLoaded(@NonNull AdManagerInterstitialAd 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

AdManagerInterstitialAd.load(
  this,
  AD_UNIT_ID,
  AdManagerAdRequest.Builder().build(),
  object : AdManagerInterstitialAdLoadCallback() {
    override fun onAdLoaded(interstitialAd: AdManagerInterstitialAd) {
      Log.d(TAG, "Ad was loaded.")
      this@MyActivity.interstitialAd = interstitialAd
    }

    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)

Ejemplos en GitHub

  • Ejemplo de anuncios intersticiales: Java | Kotlin

Próximos pasos