Com algumas alterações no seu código, você pode combinar anúncios nativos e de banner nas suas solicitações de anúncios.
Pré-requisitos
- Versão 11.0.0 ou mais recente do SDK dos anúncios para dispositivos móveis do Google.
- Conclua o curso Começar.
Carregar o anúncio
Os anúncios nativos com renderização personalizada são carregados usando a classe AdLoader
, que tem a
própria classe AdLoader.Builder
para personalizá-la durante a criação. Ao adicionar
listeners à AdLoader
durante a criação, o app especifica quais tipos
de formatos de anúncio ele está pronto para receber. Em seguida, 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 precisam competir com os nativos para preencher a 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, "/6499/example/nativeandbanner") .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, "/6499/example/nativeandbanner") .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 comprimento 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, 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 do 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 por AdLoader
, como:
setManualImpressionsEnabled()
- Ativa a geração de relatórios de impressão manual para reservas do Google Ad Manager. Os apps
que usam impressões manuais podem determinar quando uma impressão precisa
ser registrada chamando
AdManagerAdView.recordManualImpression()
.