Com algumas mudanças no código, é possível combinar anúncios nativos e de banner nas solicitações de anúncio.
Pré-requisitos
- Versão 11.0.0 ou mais recente do SDK dos anúncios para dispositivos móveis do Google.
- Leia o guia para iniciantes.
Carregar um anúncio
Os anúncios nativos renderizados de forma personalizada são carregados usando a classe AdLoader
, que tem a própria classe AdLoader.Builder
para personalização durante a criação. Ao adicionar listeners ao AdLoader
durante a criação dele, um app especifica quais tipos de formatos de anúncio ele poderá receber. O AdLoader
solicita apenas esses tipos.
O objeto AdLoader
também pode ser configurado para fazer solicitações de anúncios que podem resultar
em um anúncio de banner ou nativo. Adicionar um
OnAdManagerAdViewLoadedListener
ao AdLoader
durante a criação especifica
que os anúncios de banner devem competir com os anúncios nativos para atender à solicitação.
O código a seguir demonstra como criar um AdLoader
que pode carregar um anúncio nativo ou de banner em uma única solicitação:
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()
O método forAdManagerAdView()
prepara a AdLoader
para receber anúncios de banner.
Uma lista de tamanho variável de tamanhos de anúncio válidos precisa ser especificada junto com um
OnAdManagerAdViewLoadedListener
ao invocar forAdManagerAdView()
.
Para fazer uma solicitação de anúncio válida, é preciso especificar pelo menos um tamanho de anúncio válido. Quando um
anúncio de banner é carregado com sucesso, o método
onAdManagerAdViewLoaded()
do objeto listener especificado é chamado.
Definir o objeto AdViewOptions
A última função incluída na criação do AdLoader
é outro 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()
O objeto AdManagerAdViewOptions
permite que os publishers definam opções específicas para banners carregados pelo AdLoader
, como:
setManualImpressionsEnabled()
- Permite relatórios manuais de impressões para reservas do Google Ad Manager. Os apps que usam impressões manuais podem determinar por
conta própria quando uma impressão deve ser registrada, chamando
AdManagerAdView.recordManualImpression()
.