Los anuncios para inicio de aplicación son un formato de anuncios que está diseñado para los publicadores que desean monetizar las pantallas de carga de sus apps. Tus usuarios pueden cerrar estos anuncios en cualquier momento. Cuando pongan tu app en primer plano, muéstrales anuncios para inicio de aplicación.
Para obtener más información, consulta la guía sobre 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
/21775744923/example/app-open.- Al compilar y probar tu app, asegúrate de usar anuncios de prueba en vez de anuncios de producción reales. 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; } });
Durante las pruebas, usa el ID de unidad de anuncios de prueba: /21775744923/example/app-open.
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 desde hace 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 ocurre cuando vuelves a abrir la app desde la memoria. Durante un inicio en frío, no tienes un anuncio precargado disponible para mostrar. Durante un inicio semicaliente, 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 se 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 que se cargue la app, muestra 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 la app 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 descarte del anuncio.
Escucha los eventos de anuncios
Antes de mostrar el anuncio, escucha los eventos del ciclo de vida del anuncio. En el siguiente ejemplo, se registran devoluciones de llamada para los 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. } }); }