Com algumas mudanças no código, é possível combinar anúncios nativos e de banner nas suas solicitações de anúncios.
Pré-requisitos
- SDK dos anúncios para dispositivos móveis do Google versão 11.0.0 ou mais recente.
- Conclua a etapa Começar.
Carregamento do 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
detectores ao AdLoader
durante a criação, um app especifica quais tipos de
formatos de anúncio ele está pronto para 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 uma
OnAdManagerAdViewLoadedListener
à AdLoader
durante a criação especifica
que os anúncios de banner precisam 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, and so on. } }) .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, and so on. } }) .withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual options settings. .build()) .build()
O método forAdManagerAdView()
acima prepara o AdLoader
para receber
anúncios de banner. Uma lista de tamanhos de anúncio válidos de comprimento variável precisa ser especificada com
um OnAdManagerAdViewLoadedListener
ao invocar forAdManagerAdView()
.
Para fazer uma solicitação de anúncio válida, pelo menos um tamanho de anúncio válido precisa ser especificado. Quando um
anúncio de banner é carregado, o método
onAdManagerAdViewLoaded()
do objeto listener especificado é chamado.
Como definir AdViewOptions
A última função incluída na criação do AdLoader
acima é 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 editores definam opções específicas para
banners carregados pelo AdLoader
, como:
setManualImpressionsEnabled()
- Ativa os relatórios de impressões manuais para reservas do Google Ad Manager. Os apps
que usam impressões manuais podem determinar por conta própria quando uma impressão precisa
ser registrada. Para isso, basta chamar
AdManagerAdView.recordManualImpression()
.