Los anuncios intersticiales son anuncios de pantalla completa que cubren la interfaz de la app. Estos anuncios se muestran en puntos de transición naturales de la app, como entre actividades o durante las pausas en los niveles del juego. Cuando una app muestra un anuncio intersticial, los usuarios pueden presionar el anuncio y continuar, o bien 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 crear y verificar tus apps, asegúrate de usar anuncios de prueba en vez de anuncios activos en fase de producción. Si no usas anuncios de prueba, Google puede suspender tu cuenta.
La forma más sencilla de cargar anuncios de prueba es usar el ID de unidad de anuncios de prueba exclusivo para los anuncios intersticiales en Android:
ca-app-pub-3940256099942544/1033173712
Este ID de unidad de anuncios se configuró especialmente para devolver anuncios de prueba en cada solicitud. 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 GMA Next-Gen SDK, consulta Habilita los anuncios de prueba.
Carga un anuncio
En el siguiente ejemplo, se muestra cómo cargar un solo anuncio:
Kotlin
// Load ads after you initialize MobileAds. InterstitialAd.load( AdRequest.Builder(adUnitId).build(), object : AdLoadCallback<InterstitialAd> { override fun onAdLoaded(ad: InterstitialAd) { // Interstitial ad loaded. interstitialAd = ad } override fun onAdFailedToLoad(adError: LoadAdError) { // Interstitial ad failed to load. Log.e(TAG, "Interstitial ad failed to load: ${adError.message}") interstitialAd = null } }, )
Java
// Load ads after you initialize MobileAds. InterstitialAd.load( new AdRequest.Builder(adUnitId).build(), new AdLoadCallback<InterstitialAd>() { @Override public void onAdLoaded(@NonNull InterstitialAd ad) { // Interstitial ad loaded. interstitialAd = ad; } @Override public void onAdFailedToLoad(@NonNull LoadAdError adError) { // Interstitial ad failed to load. Log.e(TAG, "Interstitial ad failed to load: " + adError.getMessage()); interstitialAd = null; } });
Cuando realices pruebas, usa el ID de unidad de anuncios de prueba: ca-app-pub-3940256099942544/1033173712.
Muestra el anuncio
Para mostrar un anuncio intersticial, usa el método show.
Kotlin
private fun showAd(interstitialAd: InterstitialAd, activity: Activity) { // Show the ad. interstitialAd.show(activity) }
Java
private void showAd(InterstitialAd interstitialAd, Activity activity) { // Show the ad. interstitialAd.show(activity); }
Escucha eventos de anuncios
Antes de mostrar el anuncio, escucha los eventos de ciclo de vida del anuncio:
Kotlin
// Listen for ad events. val ad = interstitialAd if (ad == null) { Log.e(TAG, "Interstitial ad is not ready yet.") return } ad.adEventCallback = object : InterstitialAdEventCallback { override fun onAdShowedFullScreenContent() { // Interstitial ad did show. } override fun onAdDismissedFullScreenContent() { // Interstitial ad did dismiss. interstitialAd = null } override fun onAdFailedToShowFullScreenContent( fullScreenContentError: FullScreenContentError ) { // Interstitial ad failed to show. Log.e(TAG, "Interstitial ad failed to show: ${fullScreenContentError.message}") } override fun onAdImpression() { // Interstitial ad did record an impression. } override fun onAdClicked() { // Interstitial ad did record a click. } }
Java
// Listen for ad events. if (interstitialAd == null) { Log.e(TAG, "Interstitial ad is not ready yet."); return; } interstitialAd.setAdEventCallback( new InterstitialAdEventCallback() { @Override public void onAdShowedFullScreenContent() { // Interstitial ad did show. } @Override public void onAdDismissedFullScreenContent() { // Interstitial ad did dismiss. interstitialAd = null; } @Override public void onAdFailedToShowFullScreenContent( @NonNull FullScreenContentError fullScreenContentError) { // Interstitial ad failed to show. Log.e(TAG, "Interstitial ad failed to show: " + fullScreenContentError.getMessage()); } @Override public void onAdImpression() { // Interstitial ad did record an impression. } @Override public void onAdClicked() { // Interstitial ad did record a click. } });