SDK con la API de carga única.
Los anuncios para inicio de aplicación son un formato de anuncios especial que está diseñado para los publicadores que desean monetizar las pantallas de carga de sus apps. Estos anuncios se pueden cerrar en cualquier momento y se muestran cuando los usuarios ponen tu app en primer plano.
Para obtener más información, consulta la guía de anuncios para inicio de aplicación App open ad guidance.En esta guía, se explica cómo integrar los anuncios para inicio de aplicación en una app para Android.
Requisitos previos
Haz siempre una comprobación con anuncios de prueba
Cuando compiles y pruebes tus apps, asegúrate de utilizar anuncios de prueba en vez de anuncios activos en fase de producción. De lo contrario, tu cuenta podría suspenderse.
Para cargar anuncios de prueba, usa el ID de unidad de anuncios de prueba exclusivo para los anuncios para inicio de aplicación en apps para Android:
ca-app-pub-3940256099942544/9257395921
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. 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. 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, usa el método show.
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); }
Escucha eventos de anuncios
Antes de mostrar el anuncio, escucha los eventos de ciclo de vida del anuncio:
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. } }); }
Inicios en frío y pantallas de carga
Un inicio en frío se produce cuando tu app se inicia desde cero, por ejemplo, cuando un usuario abre tu app por primera vez o después de la finalización de la memoria. Durante un inicio en frío, no tienes un anuncio para inicio de aplicación cargado previamente que esté listo para mostrarse de inmediato.
Debido a las demoras en las solicitudes de anuncios, es posible que los usuarios interactúen con tu app antes de que aparezca un anuncio para inicio de aplicación. Para evitar una mala experiencia del usuario, muestra anuncios para inicio de aplicación en inicios en frío estrictamente desde una pantalla de carga mientras se cargan los recursos de la app. Si se completa la carga de recursos y el usuario llega 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.
Prácticas recomendadas
Sigue estas prácticas recomendadas para los anuncios para inicio de aplicación:
- Muestra tu primer anuncio para inicio de aplicación solo después de que un usuario abra tu app varias veces.
- Muestra anuncios para inicio de aplicación solo mientras los usuarios esperan a que se cargue tu app.
- Si la pantalla de carga termina de cargarse mientras se muestra el anuncio, descarta la pantalla de carga en el método de devolución de llamada de anuncio descartado.