Los anuncios intersticiales son anuncios de pantalla completa que cubren la interfaz de la app que los aloja. Por lo general, se muestran en puntos de transición natural del flujo de una app (por ejemplo, entre las actividades o durante la pausa que se realiza de un nivel a otro de un juego). Cuando una app muestra un anuncio intersticial, el usuario tiene la opción de presionar el anuncio y pasar a su destino, o bien de cerrarlo y volver a la app. Lee uno de nuestros casos de éxito.
En esta guía, se explica cómo integrar anuncios intersticiales en una app para Android.
Requisitos previos
Siempre haz pruebas con anuncios de prueba
Al compilar y verificar tus apps, asegúrate de usar anuncios de prueba en vez 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 los anuncios intersticiales en Android:
ca-app-pub-3940256099942544/1033173712
Está configurado especialmente para devolver anuncios de prueba en cada solicitud, y 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 más información sobre el funcionamiento de los anuncios de prueba del SDK de anuncios de Google para dispositivos móviles (beta), consulta la sección sobre anuncios de prueba.
Carga un anuncio
Para cargar un anuncio intersticial, llama al método load()
estático de InterstitialAd
y pasa AdLoadCallback<InterstitialAd>
para recibir el anuncio cargado o posibles errores.
Kotlin
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback
import com.google.android.libraries.ads.mobile.sdk.MobileAds
class InterstitialActivity : Activity() {
private var interstitialAd: InterstitialAd? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Load ads after you initialize Google Mobile Ads SDK (beta).
InterstitialAd.load(
AdRequest.Builder(AD_UNIT_ID).build(),
object : AdLoadCallback<InterstitialAd> {
override fun onAdLoaded(ad: InterstitialAd) {
// Interstitial ad loaded.
interstitialAd = ad
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Interstitial ad failed to load.
interstitialAd = null
}
},
)
}
companion object {
// Sample interstitial ad unit ID.
const val AD_UNIT_ID = "ca-app-pub-3940256099942544/1033173712"
}
}
Java
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback;
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest;
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError;
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError;
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd;
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback;
import com.google.android.libraries.ads.mobile.sdk.MobileAds;
class InterstitialActivity extends Activity {
// Sample interstitial ad unit ID.
private static final String AD_UNIT_ID = "ca-app-pub-3940256099942544/1033173712";
private InterstitialAd interstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load ads after you initialize Google Mobile Ads SDK (beta).
InterstitialAd.load(
new AdRequest.Builder(AD_UNIT_ID).build(),
new AdLoadCallback<InterstitialAd>() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
// Interstitial ad loaded.
AdLoadCallback.super.onAdLoaded(interstitialAd);
InterstitialActivity.this.interstitialAd = interstitialAd;
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError adError) {
// Interstitial ad failed to load.
AdLoadCallback.super.onAdFailedToLoad(adError);
interstitialAd = null;
}
}
);
}
}
Establece el objeto InterstitialAdEventCallback
El objeto InterstitialAdEventCallback
procesa los eventos relacionados con la visualización de tu InterstitialAd
. Antes de mostrar el anuncio intersticial, asegúrate de configurar la devolución de llamada:
Kotlin
// Listen for ad events.
interstitialAd?.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.
interstitialAd = null
}
override fun onAdImpression() {
// Interstitial ad did record an impression.
}
override fun onAdClicked() {
// Interstitial ad did record a click.
}
}
Java
// Listen for ad events.
interstitialAd.setAdEventCallback(
new InterstitialAdEventCallback() {
@Override
public void onAdShowedFullScreenContent() {
// Interstitial ad did show.
InterstitialAdEventCallback.super.onAdShowedFullScreenContent();
}
@Override
public void onAdDismissedFullScreenContent() {
// Interstitial ad did dismiss.
InterstitialAdEventCallback.super.onAdDismissedFullScreenContent();
interstitialAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(
@NonNull FullScreenContentError fullScreenContentError) {
// Interstitial ad failed to show.
InterstitialAdEventCallback.super.onAdFailedToShowFullScreenContent(
fullScreenContentError);
initerstitialAd = null;
}
@Override
public void onAdImpression() {
// Interstitial ad did record an impression.
InterstitialAdEventCallback.super.onAdImpression();
}
@Override
public void onAdClicked() {
// Interstitial ad did record a click.
InterstitialAdEventCallback.super.onAdClicked();
}
}
);
Muestra el anuncio
Para mostrar un anuncio intersticial, usa el método show()
.
Kotlin
// Show the ad.
interstitialAd?.show(this@InterstitialActivity)
Java
// Show the ad.
interstitialAd.show(InterstitialActivity.this);
Algunas prácticas recomendadas
- Considera si los anuncios intersticiales son el tipo de anuncio adecuado para tu app.
- Los anuncios intersticiales funcionan mejor en las apps que tienen puntos de transición naturales. La conclusión de una tarea en una app, como compartir una imagen o completar un nivel de un juego, constituye ese tipo de punto de transición. Asegúrate de tener en cuenta en qué puntos del flujo de trabajo de tu app mostrarás anuncios intersticiales y de qué manera es probable que responda el usuario.
- Recuerda detener la acción cuando muestres un anuncio intersticial.
- Existen varios tipos distintos de anuncios intersticiales: de texto, con imagen, de video y muchos más. Es importante que te asegures de que tu app, al mostrar un anuncio intersticial, también suspenda su uso de algunos recursos para permitir que el anuncio los utilice. Por ejemplo, cuando hagas la llamada para mostrar un anuncio intersticial, asegúrate de pausar cualquier salida de audio que produzca tu app.
- Permite que transcurra un tiempo de carga adecuado.
- Además de asegurarte de mostrar anuncios intersticiales en un momento adecuado, también es importante que el usuario no tenga que esperar a que se carguen. Si llamas a
load()
antes deshow()
para cargar el anuncio con antelación, puedes asegurarte de que tu app tenga un anuncio intersticial completamente cargado y listo cuando llegue el momento de mostrar uno. - No satures 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 perjudicar la experiencia del usuario y reducir las tasas de clics. Asegúrate de que los usuarios no experimenten interrupciones con tanta frecuencia que ya no puedan disfrutar de tu app.
Ejemplo
Descarga y ejecuta la app de ejemplo que demuestra el uso del SDK de anuncios de Google para dispositivos móviles (beta).