Los anuncios para inicio de aplicación son un formato de anuncio diseñado para los publicadores que desean monetizar las pantallas de carga de sus apps. Los usuarios pueden cerrar los anuncios para inicio de aplicación en cualquier momento. Cuando los usuarios pongan tu app en primer plano, muestra anuncios para inicio de aplicación.
Para obtener más información, consulta la guía de anuncios para inicio de aplicación.En esta guía, se explica cómo integrar anuncios para inicio de aplicación en una app para Android.
Antes de comenzar
Antes de continuar, haz lo siguiente:
- Configura el GMA Next-Gen SDK.
- Usa el ID de unidad de anuncios para inicio de aplicación de prueba
ca-app-pub-3940256099942544/9257395921.- Cuando compiles y pruebes tu app, asegúrate de usar anuncios de prueba en vez de anuncios activos en fase de producción. Si no usas el ID de unidad de anuncios de prueba, Google puede suspender tu cuenta.
- Antes de publicar tu app, reemplaza este ID por tu ID de unidad de anuncios.
- Para obtener detalles sobre los anuncios de prueba del GMA Next-Gen SDK, consulta Habilita los anuncios de prueba.
Carga un anuncio
En el siguiente ejemplo, se carga un solo anuncio:
Kotlin
// Load ads after you initialize MobileAds. AppOpenAd.load( AdRequest.Builder(adUnitId).build(), object : AdLoadCallback<AppOpenAd> { override fun onAdLoaded(ad: AppOpenAd) { // App open ad loaded. appOpenAd = ad } override fun onAdFailedToLoad(adError: LoadAdError) { // App open ad failed to load. Log.e(TAG, "App open ad failed to load: ${adError.message}") appOpenAd = null } }, )
Java
// Load ads after you initialize MobileAds. AppOpenAd.load( new AdRequest.Builder(adUnitId).build(), new AdLoadCallback<AppOpenAd>() { @Override public void onAdLoaded(AppOpenAd ad) { // App open ad loaded. appOpenAd = ad; } @Override public void onAdFailedToLoad(LoadAdError adError) { // App open ad failed to load. Log.e(TAG, "App open ad failed to load: " + adError.getMessage()); appOpenAd = null; } });
Cuando realices pruebas, usa el ID de unidad de anuncios de prueba: ca-app-pub-3940256099942544/9257395921.
Muestra el anuncio
Para mostrar un anuncio para inicio de aplicación, llama al métodoshow. Los anuncios para inicio de aplicación vencen cuatro horas después de cargarse. No muestres un anuncio para inicio de aplicación que se esté cargando durante más de cuatro horas.
En el siguiente ejemplo, se muestra el anuncio:
Kotlin
private fun showAd(appOpenAd: AppOpenAd, activity: Activity) { // Show the ad. appOpenAd.show(activity) }
Java
private void showAd(AppOpenAd appOpenAd, Activity activity) { // Show the ad. appOpenAd.show(activity); }
Controla los inicios en frío y las pantallas de carga
Un inicio en frío se produce cuando la app se inicia desde el disco, y un inicio semicaliente se produce cuando vuelves a abrir la app desde la memoria. Durante un inicio en frío, no tienes un anuncio cargado previamente disponible para mostrar. Durante un inicio en caliente, es posible que aún tengas un anuncio cargado disponible para mostrar.
Durante un inicio en frío, es posible que los usuarios interactúen con tu app antes de que se cargue y muestre un anuncio. Para evitar una mala experiencia del usuario, muestra anuncios para inicio de aplicación en los inicios en frío estrictamente desde una pantalla de carga mientras se cargan los recursos de la app. Mientras los usuarios esperan a que se cargue tu app, muéstrales anuncios para inicio de aplicación. No muestres un anuncio para inicio de aplicación la primera vez que se inicie la app. Si la carga de recursos se completa y los usuarios llegan al contenido principal antes de que se cargue el anuncio, no lo muestres.
Carga los recursos de aplicación en un subproceso en segundo plano para que la carga continúe mientras se muestra el anuncio. Si la pantalla de carga termina de cargarse mientras se muestra el anuncio, descártala en el método de devolución de llamada de anuncio descartado.
Escucha los eventos de anuncios
Antes de mostrar el anuncio, escucha los eventos de ciclo de vida del anuncio. En el siguiente ejemplo, se registran devoluciones de llamada para eventos de anuncios:
Kotlin
private fun listenToAdEvents() { // Listen for ad events. val ad = appOpenAd if (ad == null) { Log.e(TAG, "App open ad is not ready yet.") return } ad.adEventCallback = object : AppOpenAdEventCallback { override fun onAdShowedFullScreenContent() { // App open ad did show. } override fun onAdDismissedFullScreenContent() { // App open ad did dismiss. appOpenAd = null } override fun onAdFailedToShowFullScreenContent( fullScreenContentError: FullScreenContentError ) { // App open ad failed to show. Log.e(TAG, "App open ad failed to show: ${fullScreenContentError.message}") } override fun onAdImpression() { // App open ad did record an impression. } override fun onAdClicked() { // App open ad did record a click. } } }
Java
private void listenToAdEvents() { // Listen for ad events. if (appOpenAd == null) { Log.e(TAG, "App open ad is not ready yet."); return; } appOpenAd.setAdEventCallback( new AppOpenAdEventCallback() { @Override public void onAdShowedFullScreenContent() { // App open ad did show. } @Override public void onAdDismissedFullScreenContent() { // App open ad did dismiss. appOpenAd = null; } @Override public void onAdFailedToShowFullScreenContent( @NonNull FullScreenContentError fullScreenContentError) { // App open ad failed to show. Log.e(TAG, "App open ad failed to show: " + fullScreenContentError.getMessage()); } @Override public void onAdImpression() { // App open ad did record an impression. } @Override public void onAdClicked() { // App open ad did record a click. } }); }