Anuncios en forma de banner

Los anuncios de banner son anuncios rectangulares que ocupan una parte del diseño de una aplicación. Permanecen en la pantalla mientras los usuarios interactúan con la app, ya sea intercalados con contenido a medida que el usuario se desplaza o fijos en la parte superior o inferior de la pantalla. Los anuncios de banner se pueden actualizar automáticamente después de cierto tiempo. Consulta la Descripción general de los anuncios de banner para obtener más información.

En esta guía, se explica cómo comenzar a usar los anuncios de banner adaptables fijos, que maximizan el rendimiento optimizando el tamaño del anuncio para cada dispositivo con un ancho de anuncio que especifiques.

Los anuncios de banner adaptables fijos son anuncios de relación de aspecto fija, en lugar de los anuncios de tamaño fijo normales. La relación de aspecto es similar al estándar de la industria de 320 × 50. Una vez que especifiques el ancho completo disponible, se mostrará un anuncio con la altura óptima para ese ancho. La altura óptima no cambia en las solicitudes del mismo dispositivo y no es necesario que las vistas circundantes se muevan cuando se actualiza el anuncio.

Requisitos previos

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 fácil de cargar anuncios de prueba es usar nuestro ID de unidad de anuncios de prueba exclusivo para banners de Android:

ca-app-pub-3940256099942544/9214589741

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.

Cómo agregar AdView al diseño

El primer paso para mostrar un banner es colocar AdView en el diseño de tu app:

Java

// Create a new ad view.
adView = new AdView(this);
adView.setAdUnitId(AD_UNIT_ID);
adView.setAdSize(getAdSize());

// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);

Kotlin

// Create a new ad view.
val adView = AdView(this)
adView.adUnitId = AD_UNIT_ID
adView.setAdSize(adSize)
this.adView = adView

// Replace ad container with new ad view.
binding.adViewContainer.removeAllViews()
binding.adViewContainer.addView(adView)

Carga un anuncio

Una vez que se implemente AdView, el siguiente paso es cargar un anuncio. Para ello, usa el método loadAd() en la clase AdView. Lleva un parámetro AdRequest, que contiene información del entorno de ejecución, como la información de segmentación, sobre una sola solicitud de anuncio.

Este es un ejemplo que muestra cómo cargar un anuncio:

Java

// Start loading the ad in the background.
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);

Kotlin

// Start loading the ad in the background.
val adRequest = AdRequest.Builder().build()
adView.loadAd(adRequest)

Si el anuncio no se carga, no necesitas solicitar otro explícitamente, siempre y cuando hayas configurado tu unidad de anuncios para que se actualice. El SDK de anuncios de Google para dispositivos móviles respeta cualquier frecuencia de actualización que hayas especificado en la interfaz web de AdMob. Si no habilitaste la actualización, deberás emitir una solicitud nueva.

Eso es todo. Tu app ya está lista para mostrar anuncios de banner.

Eventos de anuncios

Puedes detectar varios eventos en el ciclo de vida del anuncio, como la carga, la impresión y el clic en el anuncio, así como los eventos de apertura y cierre del anuncio. Te recomendamos configurar la devolución de llamada antes de cargar el banner.

Java

adView.setAdListener(new AdListener() {
    @Override
    public void onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    @Override
    public void onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    @Override
    public void onAdFailedToLoad(LoadAdError adError) {
      // Code to be executed when an ad request fails.
    }

    @Override
    public void onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    @Override
    public void onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    @Override
    public void onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
});

Kotlin

adView.adListener = object: AdListener() {
    override fun onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    override fun onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    override fun onAdFailedToLoad(adError : LoadAdError) {
      // Code to be executed when an ad request fails.
    }

    override fun onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    override fun onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    override fun onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
}

Cada uno de los métodos reemplazables de AdListener corresponde a un evento en el ciclo de vida de un anuncio.

Métodos anulables
onAdClicked() El método onAdClicked() se invoca cuando se registra un clic en un anuncio.
onAdClosed() El método onAdClosed() se invoca cuando un usuario regresa a la app después de ver la URL de destino de un anuncio. Tu app puede usarlo para reanudar actividades suspendidas o realizar cualquier otra tarea necesaria para prepararse para la interacción. Consulta el ejemplo de AdListener de AdMob para ver una implementación de los métodos de AdListener en la app de demostración de Android API.
onAdFailedToLoad() El método onAdFailedToLoad() es el único que incluye un parámetro. El parámetro de error de tipo LoadAdError describe qué error se produjo. Para obtener más información, consulta la documentación sobre la depuración de errores de carga de anuncios.
onAdImpression() El método onAdImpression() se invoca cuando se registra una impresión de un anuncio.
onAdLoaded() El método onAdLoaded() se ejecuta cuando termina de cargarse un anuncio. Si deseas postergar la adición de AdView a tu actividad o fragmento hasta estar seguro de que, por ejemplo, se cargará un anuncio, puedes hacerlo aquí.
onAdOpened() El método onAdOpened() se invoca cuando un anuncio abre una superposición que cubre la pantalla.

Aceleración de hardware para los anuncios de video

Para que los anuncios de video se muestren correctamente en las vistas de tus anuncios gráficos, la aceleración de hardware debe estar habilitada.

La aceleración de hardware está habilitada de forma predeterminada, pero algunas apps pueden inhabilitarla. Si esto se aplica a tu app, te recomendamos que habilites la aceleración de hardware para las clases Activity que usan anuncios.

Cómo habilitar la aceleración de hardware

Si la aceleración de hardware activada globalmente hace que tu app no se comporte de manera adecuada, puedes controlarla en actividades individuales. Si deseas habilitar o inhabilitar la aceleración de hardware, puedes usar el atributo android:hardwareAccelerated para los elementos <application> y <activity> de tu AndroidManifest.xml. En el siguiente ejemplo, se habilita la aceleración de hardware para toda la app, pero se inhabilita para una actividad:

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

Consulta la guía de aceleración de hardware para obtener más información sobre las opciones para controlar la aceleración de hardware. Ten en cuenta que las vistas de anuncios individuales no se pueden habilitar para la aceleración de hardware si la actividad está inhabilitada, por lo que la actividad en sí debe tener habilitada la aceleración de hardware.

Recursos adicionales

Ejemplos en GitHub

  • Ejemplo de anuncios de banner adaptables fijos: Java | Kotlin
  • Demostración de funciones avanzadas: Java | Kotlin

Próximos pasos

Banners contraíbles

Los anuncios de banner contraíbles son anuncios de banner que, en un principio, se presentan como una superposición más grande, con un botón para contraer el anuncio a un tamaño más pequeño. Considera usarla para optimizar aún más tu rendimiento. Consulta el artículo sobre anuncios de banner contraíbles para obtener más información.

Banners adaptables intercalados

Los banners adaptables intercalados son más grandes y altos en comparación con los banners adaptables fijos. Tienen una altura variable y pueden ser tan altos como la pantalla del dispositivo. Se recomiendan los banners adaptables intercalados en lugar de los anuncios de banner adaptables fijos para las apps que colocan anuncios de banner en contenido por el que es posible desplazarse. Consulta Banners adaptables intercalados para obtener más detalles.

Explora otros temas