Con algunos cambios en tu código, puedes combinar anuncios nativos y de banner en tus solicitudes de anuncios.
Requisitos previos
- Versión 11.0.0 o posterior del SDK de anuncios de Google para dispositivos móviles
- Completar la guía de introducción
Carga un anuncio
Los anuncios nativos renderizados de forma personalizada se cargan con la clase AdLoader
, que tiene su propia clase AdLoader.Builder
para personalizarla durante la creación. Cuando se agregan objetos de escucha a AdLoader
durante la compilación, la app especifica qué tipos de formatos de anuncios está lista para recibir. De esta manera, AdLoader
solo solicita esos tipos de anuncios.
El objeto AdLoader
también se puede configurar para realizar solicitudes de anuncios que pueden generar un anuncio de banner o un anuncio nativo. Si agregas un objeto OnAdManagerAdViewLoadedListener
al objeto AdLoader
durante la compilación, se especifica que los anuncios de banner deben competir con los anuncios nativos para completar la solicitud.
El siguiente código muestra cómo compilar un objeto AdLoader
que puede cargar un anuncio nativo o de banner en una sola solicitud:
Java
AdLoader adLoader = new AdLoader.Builder(context, "/21775744923/example/native-and-banner") .forNativeAd(new NativeAd.OnNativeAdLoadedListener() { @Override public void onNativeAdLoaded(NativeAd nativeAd) { // Show the ad. } }) .forAdManagerAdView(new OnAdManagerAdViewLoadedListener() { @Override public void onAdManagerAdViewLoaded(AdManagerAdView adView) { // Show the banner ad. } }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE) .withAdListener(new AdListener() { @Override public void onAdFailedToLoad(LoadAdError error) { // Handle the failure by logging, altering the UI, etc. } }) .withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual options settings. .build()) .build();
Kotlin
val adLoader = AdLoader.Builder(this, "/21775744923/example/native-and-banner") .forNativeAd { nativeAd -> // Show the ad. } .forAdManagerAdView({ adView -> // Show the banner ad. }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE) .withAdListener(object: AdListener() { override fun onAdFailedToLoad(adError: LoadAdError) { // Handle the failure by logging, altering the UI, etc. } }) .withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual options settings. .build()) .build()
El método forAdManagerAdView()
prepara el AdLoader
para recibir anuncios banner.
Se debe especificar una lista de longitud variable de tamaños de anuncios válidos junto con un OnAdManagerAdViewLoadedListener
cuando se invoca forAdManagerAdView()
.
Para realizar una solicitud de anuncio válida, se debe especificar al menos un tamaño de anuncio válido. Cuando un anuncio de banner se carga correctamente, se llama al método onAdManagerAdViewLoaded()
del objeto de escucha especificado.
Configura el objeto AdViewOptions
La última función incluida en la creación de AdLoader
es otro método opcional, withAdManagerAdViewOptions()
:
Java
.withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual banner options settings. .build()
Kotlin
.withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual banner options settings. .build()
El objeto AdManagerAdViewOptions
permite que los publicadores establezcan opciones específicas para los banners cargados por el objeto AdLoader
, como las siguientes:
setManualImpressionsEnabled()
- Habilita los informes de impresiones manuales para las reservas de Google Ad Manager. Las apps que usan impresiones manuales pueden determinar por sí mismas cuándo se debe registrar una impresión y pueden hacerlo llamando a
AdManagerAdView.recordManualImpression()
.