Los anuncios de banner son anuncios rectangulares que ocupan una parte del diseño de una aplicación. Ellas permanecerá en la pantalla mientras los usuarios interactúan con la aplicación, ya sea anclados en la en la parte superior o inferior de la pantalla, o bien intercalados con el contenido a medida que el usuario se desplaza. Banner los anuncios pueden actualizarse automáticamente después de un período determinado. Consulta la Descripción general de los anuncios de banner. para obtener más información.
En esta guía, se muestra cómo comenzar a usar las campañas anuncios de banner adaptable, lo que maximiza el rendimiento mediante la optimización del tamaño del anuncio para cada dispositivo mediante el 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 tamaño estándar de la industria de 320 x 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 entre las solicitudes de mismo dispositivo y no es necesario mover las vistas circundantes cuando el anuncio actualizaciones de software.
Requisitos previos
- Completa la guía de introducción.
Probar siempre 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 exclusivo de unidad de anuncios de prueba para Banners para Android:
/21775744923/example/adaptive-banner
Se configuró de forma especial para mostrar anuncios de prueba para cada solicitud. utilízalos en tus propias apps mientras programas, pruebas y depuras. Solo asegúrate de reemplázala con tu propio ID de unidad de anuncios antes de publicar tu app.
Para obtener más información sobre cómo funcionan los anuncios de prueba del SDK de anuncios para dispositivos móviles, consulta el artículo Anuncios.
Cómo agregar AdManagerAdView al diseño
El primer paso para mostrar un banner es colocar AdManagerAdView
.
en el diseño de tu app:
Java
// Create a new ad view.
adView = new AdManagerAdView(this);
adView.setAdUnitId(AD_UNIT);
adView.setAdSize(getAdSize());
// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);
Kotlin
// Create a new ad view.
val adView = AdManagerAdView(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 implementa la vista de AdManagerAdView,
cargar un anuncio. Esto puede hacerse con loadAd()
.
en la clase AdManagerAdView
. Se necesita un AdManagerAdRequest
parámetro, que contiene información del entorno de ejecución, como los datos de segmentación, sobre un
en una única solicitud de anuncio.
A continuación, se incluye un ejemplo que muestra cómo cargar un anuncio:
Java
// Start loading the ad in the background.
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
adView.loadAd(adRequest);
Kotlin
// Start loading the ad in the background.
val adRequest = AdManagerAdRequest.Builder().build()
adView.loadAd(adRequest)
Si el anuncio no se carga, no necesitas solicitar otro explícitamente, ya que (siempre y cuando configures tu unidad de anuncios para que se actualice) SDK de anuncios de Google para dispositivos móviles respetará cualquier frecuencia de actualización que hayas especificado en el archivo interfaz web. Si no habilitaste la actualización, deberás enviar una nueva para cada solicitud.
Eso es todo. Tu app ahora está lista para mostrar anuncios de banner.
Eventos de anuncios
Puedes escuchar 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. Se recomienda para 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 usarla para reanudar actividades suspendidas
realizar cualquier otro trabajo necesario para prepararse para la interacción.
|
onAdFailedToLoad() |
El onAdFailedToLoad()
es el único que incluye un parámetro. El parámetro de error de tipo
LoadAdError describe qué error ocurrió. Para obtener más información,
consulta el artículo Cómo depurar errores en la carga de anuncios
documentación.
|
onAdImpression() |
El onAdImpression()
cuando se registra una impresión de un anuncio.
|
onAdLoaded() |
El onAdLoaded()
se ejecuta cuando termina de cargarse un anuncio. Si quieres retrasar
agregando la AdManagerAdView
a tu actividad o fragmento hasta que te asegures de que se cargará un anuncio, por
ejemplo, 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 aparezcan correctamente en las vistas de anuncios de banner, el hardware aceleración debe habilitarse.
La aceleración de hardware está habilitada de forma predeterminada, pero algunas apps pueden optar por inhabilitarla
que la modifica. Si esto se aplica a tu app, te recomendamos que habilites la aceleración de hardware para
Activity
clases que usan anuncios.
Cómo habilitar la aceleración de hardware
Si la aceleración de hardware no se comporta correctamente tu app
globalmente, también puedes controlarlo para actividades individuales. Para habilitar
inhabilitar la aceleración de hardware, puedes usar android:hardwareAccelerated
para el
<application>
y
<activity>
elementos en 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 el artículo Aceleración de hardware. guía 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 pueden habilitarse 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.
Recuento manual de impresiones
El recuento manual de impresiones es compatible solo con productos de venta directa y propios campañas con creatividades cuyo tráfico se coordinó directamente en Ad Manager. No debería ser usarse para reabastecimiento o anuncios de redes de terceros. Para obtener más detalles, consulta Recuentos impresiones y clics.
Puedes enviar pings de impresiones manualmente a Ad Manager si tienes solicitudes
condiciones respecto de cuándo se debe registrar una impresión. Para hacerlo, habilita un
AdManagerAdRequest
para las impresiones manuales antes de cargar un anuncio:
Java
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
.setManualImpressionsEnabled(true)
.build();
Kotlin
val adRequest = AdManagerAdRequest.Builder()
.setManualImpressionsEnabled(true)
.build()
Cuando determinas que un anuncio se devolvió correctamente y se muestra en pantalla puedes registrar una impresión de forma manual:
Java
{ ad_view }.recordManualImpression();
Kotlin
AdManagerAdView.recordManualImpression()
Eventos de aplicaciones
Los eventos de aplicaciones le permiten crear anuncios que pueden enviar mensajes a su código de aplicación. La app puede tomar medidas en función de estos mensajes.
Puedes escuchar eventos de apps específicos de Ad Manager con AppEventListener
.
Estos eventos pueden ocurrir en cualquier momento durante el ciclo de vida del anuncio, incluso antes de llamar a onAdLoaded()
.
Java
public interface AppEventListener {
void onAppEvent(String name, String info);
}
Kotlin
interface AppEventListener {
fun onAppEvent(name: String, info: String)
}
Se llama a void onAppEvent(String name, String info)
cuando ocurre un evento en la app.
en un anuncio. Esta interfaz se puede implementar a través de tu actividad o cualquier otro
objeto:
Java
import com.google.android.gms.ads.admanager.*;
public class BannerExample extends Activity implements AppEventListener {
}
Kotlin
import com.google.android.gms.ads.admanager.*
class BannerExample : Activity(), AppEventListener {
}
y, luego, se pasa a AdManagerAdView
:
Java
AdManagerAdView.setAppEventListener(this);
Kotlin
AdManagerAdView.appEventListener = this
Este es un ejemplo que muestra cómo cambiar el color de fondo de tu app según un evento de app con un nombre de color:
Java
@Override
public void onAppEvent(String name, String info) {
if ("color".equals(name)) {
if ("green".equals(info)) {
// Set background color to green.
} else if ("blue".equals(info)) {
// Set background color to blue.
} else {
// Set background color to black.
}
}
}
Kotlin
override fun onAppEvent(name: String?, info: String?) {
if (name == "color") {
when (info) {
"green" -> {
// Set background color to green.
}
"blue" -> {
// Set background color to blue.
}
else -> {
// Set background color to black.
}
}
}
}
Esta es la creatividad correspondiente que envía mensajes de eventos de apps de color al objeto de escucha:
<html>
<head>
<script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Send a color=green event when ad loads.
admob.events.dispatchAppEvent("color", "green");
document.getElementById("ad").addEventListener("click", function() {
// Send a color=blue event when ad is clicked.
admob.events.dispatchAppEvent("color", "blue");
});
});
</script>
<style>
#ad {
width: 320px;
height: 50px;
top: 0px;
left: 0px;
font-size: 24pt;
font-weight: bold;
position: absolute;
background: black;
color: white;
text-align: center;
}
</style>
</head>
<body>
<div id="ad">Carpe diem!</div>
</body>
</html>
Consulta el ejemplo de eventos de aplicaciones de Ad Manager para ver una implementación de eventos de aplicaciones en la App de demostración de API.
Recursos adicionales
Ejemplos en GitHub
Próximos pasos
Banners contraíbles
Los anuncios de banner contraíbles son anuncios de banner que inicialmente se presentan como un anuncio superpuesto, con un botón para contraer el anuncio a un tamaño más pequeño. Considera usarla para optimizar aún más el 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 recomienda el uso de banners adaptables intercalados en lugar de anuncios de banner adaptable fijos Apps que colocan anuncios de banner en contenido por el que es posible desplazarse. Consulta el ajuste adaptable intercalado banners para obtener más información más detalles.