Внеся несколько изменений в код, вы сможете объединить нативные объявления и баннеры в запросах объявлений.
Требования
- Ознакомьтесь с кратким руководством.
Загрузка объявления
Чтобы отправить комбинированный запрос на нативные объявления и баннеры, выполните следующие действия:
Передайте типы
NativeAdType.NATIVEиNativeAdType.BANNERв виде списка вNativeAdRequest.Укажите хотя бы один размер баннера.
В следующем примере загружается комбинированное нативное и баннерное объявление:
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());
Задайте размер объявления, который не превышает размер экрана устройства.
Чтобы определить максимальный размер экрана, используйте метод Resources.getDisplayMetrics. Размеры объекта AdSize указываются в пикселях, не зависящих от плотности экрана (dp). При сравнении преобразуйте размер экрана из пикселей в dp.
Подробнее об ограничениях по размеру см. в статье Устранение неполадок, связанных с невыполненными показами, в Менеджере рекламы.
Получите объявление из объекта NativeAdLoaderCallback
В зависимости от того, какой тип объявления был успешно загружен, объект NativeAdLoaderCallback вызывает метод onNativeAdLoaded() для нативных объявлений и метод onBannerAdLoaded() для баннеров.
В примере ниже запрашиваются баннеры или нативные объявления:
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.
}
};
}