Com algumas mudanças no código, é possível combinar anúncios nativos e anúncios de banner nas suas solicitações de anúncio.
Pré-requisitos
- Leia o guia para iniciantes.
Carregar um anúncio
Para fazer uma solicitação combinada de nativo e banner, faça o seguinte:
Transmita os tipos
NativeAdType.NATIVEeNativeAdType.BANNERcomo uma lista noNativeAdRequest.Defina pelo menos um tamanho de anúncio de banner.
Os exemplos a seguir carregam um anúncio nativo e de banner combinado:
Kotlin
val adRequest =
NativeAdRequest.Builder(AD_UNIT_ID, listOf(NativeAdType.NATIVE, NativeAdType.BANNER))
// Use setAdSize() or setAdSizes() depending on if you want multiple ad sizes or not.
.setAdSizes(listOf(AdSize.BANNER, AdSize.LARGE_BANNER))
.build()
// Load the native and banner ad with the ad request and callback.
NativeAdLoader.load(adRequest, getNativeAdLoaderCallback())
Java
NativeAdRequest adRequest =
new NativeAdRequest.Builder(AD_UNIT_ID, List.of(NativeAdType.NATIVE, NativeAdType.BANNER))
// Use setAdSize() or setAdSizes() depending on if you want multiple ad sizes or not.
.setAdSizes(Arrays.asList(AdSize.BANNER, AdSize.LARGE_BANNER))
.build();
// Load the native and banner ad with the ad request and callback.
NativeAdLoader.load(adRequest, getNativeAdLoaderCallback());
Defina um tamanho de anúncio menor ou igual ao tamanho da tela do dispositivo.
Para determinar o tamanho máximo da tela, use o método Resources.getDisplayMetrics. As dimensões do objeto AdSize usam pixels independentes de densidade (dp). Ao comparar, converta o
tamanho da tela de pixels para dp.
Para mais detalhes sobre as restrições de tamanho, consulte
Resolver problemas de impressões não preenchidas no Ad Manager.
Receber o anúncio do objeto NativeAdLoaderCallback
Dependendo do tipo de anúncio carregado, o objeto NativeAdLoaderCallback chama o método onNativeAdLoaded() para anúncios nativos e o método onBannerAdLoaded() para anúncios de banner.
O exemplo a seguir mostra anúncios nativos ou de banner:
Kotlin
private fun getNativeAdLoaderCallback(): NativeAdLoaderCallback {
return object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Called when a native ad has loaded.
}
override fun onBannerAdLoaded(bannerAd: BannerAd) {
// Called when a banner ad has loaded.
}
}
}
Java
private NativeAdLoaderCallback getNativeAdLoaderCallback() {
return new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
// Called when a native ad has loaded.
}
@Override
public void onBannerAdLoaded(@NonNull BannerAd bannerAd) {
// Called when a banner ad has loaded.
}
};
}