Los anuncios intersticiales son anuncios en pantalla completa que cubren la interfaz de su app host. Por lo general, se muestran en puntos naturales de transición 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 presionarlo y continuar hasta su destino, o bien cerrarlo y regresar a la app.
En esta guía, se explica cómo integrar anuncios intersticiales en una app para Android.
Requisitos previos
- SDK de anuncios de Google para dispositivos móviles 19.7.0 o una versión posterior
- Completa la guía de introducción.
Siempre realiza pruebas con anuncios de prueba
Cuando compiles y pruebes tus apps, asegúrate de usar anuncios de prueba en lugar de anuncios activos en fase de producción. De lo contrario, podría suspenderse tu cuenta.
La forma más sencilla de cargar anuncios de prueba es usar nuestro ID de unidad de anuncios de prueba exclusivo para anuncios intersticiales de Android:
/21775744923/example/interstitial
Se configuró de forma especial para mostrar anuncios de prueba para cada solicitud, y puedes usarlo en tus propias apps mientras codificas, pruebas y depuras. Solo asegúrate de reemplazarlo por tu propio ID de unidad de anuncios antes de publicar la app.
Para obtener más información sobre cómo funcionan los anuncios de prueba del SDK de anuncios para dispositivos móviles, consulta Anuncios de prueba.
Carga un anuncio
Para cargar un anuncio intersticial, llama al método load()
estático
de AdManagerInterstitialAd
y pasa un
AdManagerInterstitialAdLoadCallback
para recibir el anuncio
cargado o cualquier error posible. Ten en cuenta que, al igual que otras devoluciones de llamada de carga de formato, AdManagerInterstitialAdLoadCallback
aprovecha LoadAdError
para proporcionar detalles de errores de mayor fidelidad.
Java
import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;
public class MainActivity extends Activity {
private AdManagerInterstitialAd mAdManagerInterstitialAd;
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
AdManagerInterstitialAd.load(this,"/21775744923/example/interstitial", adRequest,
new AdManagerInterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull AdManagerInterstitialAd interstitialAd) {
// The mAdManagerInterstitialAd reference will be null until
// an ad is loaded.
mAdManagerInterstitialAd = interstitialAd;
Log.i(TAG, "onAdLoaded");
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
// Handle the error
Log.d(TAG, loadAdError.toString());
mAdManagerInterstitialAd = null;
}
});
}
}
Kotlin
import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;
class MainActivity : AppCompatActivity() {
private var mAdManagerInterstitialAd: AdManagerInterstitialAd? = null
private final val TAG = "MainActivity"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val adRequest = AdManagerAdRequest.Builder().build()
AdManagerInterstitialAd.load(this,"/21775744923/example/interstitial", adRequest, object : AdManagerInterstitialAdLoadCallback() {
override fun onAdFailedToLoad(adError: LoadAdError) {
Log.d(TAG, adError?.toString())
mAdManagerInterstitialAd = null
}
override fun onAdLoaded(interstitialAd: AdManagerInterstitialAd) {
Log.d(TAG, 'Ad was loaded.')
mAdManagerInterstitialAd = interstitialAd
}
})
}
}
Establece FullScreenContentCallback
FullScreenContentCallback
controla los eventos relacionados con la visualización de tu InterstitialAd
. Antes de mostrar InterstitialAd
, asegúrate de configurar la devolución de llamada:
Java
mAdManagerInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){
@Override
public void onAdClicked() {
// Called when a click is recorded for an ad.
Log.d(TAG, "Ad was clicked.");
}
@Override
public void onAdDismissedFullScreenContent() {
// Called when ad is dismissed.
// Set the ad reference to null so you don't show the ad a second time.
Log.d(TAG, "Ad dismissed fullscreen content.");
mAdManagerInterstitialAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when ad fails to show.
Log.e(TAG, "Ad failed to show fullscreen content.");
mAdManagerInterstitialAd = null;
}
@Override
public void onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.");
}
@Override
public void onAdShowedFullScreenContent() {
// Called when ad is shown.
Log.d(TAG, "Ad showed fullscreen content.");
}
});
Kotlin
mAdManagerInterstitialAd?.fullScreenContentCallback = object: FullScreenContentCallback() {
override fun onAdClicked() {
// Called when a click is recorded for an ad.
Log.d(TAG, "Ad was clicked.")
}
override fun onAdDismissedFullScreenContent() {
// Called when ad is dismissed.
Log.d(TAG, "Ad dismissed fullscreen content.")
mAdManagerInterstitialAd = null
}
override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
// Called when ad fails to show.
Log.e(TAG, "Ad failed to show fullscreen content.")
mAdManagerInterstitialAd = null
}
override fun onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.")
}
override fun onAdShowedFullScreenContent() {
// Called when ad is shown.
Log.d(TAG, "Ad showed fullscreen content.")
}
}
Muestra el anuncio
Los anuncios intersticiales deben mostrarse durante pausas naturales en el flujo de una app. Un buen ejemplo es entre los niveles de un juego o después de que el usuario completa una tarea.
Para mostrar una unidad intersticial, usa el método show()
.
Java
if (mAdManagerInterstitialAd != null) {
mAdManagerInterstitialAd.show(MyActivity.this);
} else {
Log.d("TAG", "The interstitial ad wasn't ready yet.");
}
Kotlin
if (mAdManagerInterstitialAd != null) {
mAdManagerInterstitialAd?.show(this)
} else {
Log.d("TAG", "The interstitial ad wasn't ready yet.")
}
Algunas prácticas recomendadas
- Considera si los anuncios intersticiales son el tipo de anuncio adecuado para tu app.
- Los anuncios intersticiales funcionan mejor en apps con puntos de transición naturales. La conclusión de una tarea dentro de una app, como compartir una imagen o completar un nivel de un juego, crea un punto de este tipo. Asegúrate de considerar en qué puntos del flujo de trabajo de tu app mostrarás los anuncios intersticiales y cómo es probable que responda el usuario.
- Recuerda pausar la acción cuando se muestre un anuncio intersticial.
- Existen varios tipos de anuncios intersticiales: de texto, con imágenes, de video y mucho más. Es importante asegurarse de que, cuando tu app muestre un anuncio intersticial, también suspenda el uso de algunos recursos para permitir que el anuncio los aproveche. Por ejemplo, cuando realices la llamada para mostrar un anuncio intersticial, asegúrate de pausar cualquier salida de audio que produzca tu app.
- Permite un tiempo de carga adecuado.
- Así como es importante asegurarte de mostrar anuncios intersticiales en un momento apropiado, también es importante que el usuario no tenga que esperar a que se carguen. Si cargas el anuncio por adelantado llamando a
load()
antes de llamar ashow()
, puedes asegurarte de que tu app tenga un anuncio intersticial completamente cargado listo para mostrar cuando llegue el momento. - No inundes al usuario con anuncios.
- Si bien aumentar la frecuencia de los anuncios intersticiales en tu app puede parecer una excelente manera de aumentar los ingresos, también puede degradar la experiencia del usuario y disminuir las tasas de clics. Asegúrate de que los usuarios no se vean tan frecuentemente afectados por interrupciones que ya no puedan disfrutar del uso de tu app.
Ejemplos en GitHub
Próximos pasos
- Obtenga más información acerca de la orientación de los anuncios.
- Obtén más información sobre la privacidad del usuario.
- Explora la inicialización y carga de anuncios optimizadas del SDK (beta).