Внеся несколько изменений в код, вы сможете объединять нативную и баннерную рекламу в своих рекламных запросах.
Предпосылки
- Версия Google Mobile Ads SDK 11.0.0 или выше.
- Заполните руководство по началу работы .
Загрузить объявление
Нативная реклама, отрисованная с помощью специального кода, загружается с помощью класса AdLoader
, который имеет собственный класс AdLoader.Builder
для настройки во время создания. Добавляя слушателей к AdLoader
во время его создания, приложение указывает, какие типы форматов рекламы оно готово принимать. Затем AdLoader
запрашивает только эти типы.
Объект AdLoader
также можно настроить для отправки запросов на показ рекламы, которые могут привести к показу как баннерной, так и нативной рекламы. Добавление слушателя OnAdManagerAdViewLoadedListener
к объекту AdLoader
при его создании указывает, что баннерная реклама должна конкурировать с нативной рекламой за выполнение запроса.
В следующем коде показано, как создать AdLoader
, который может загружать как нативную, так и баннерную рекламу за один запрос:
Ява
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();
Котлин
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()
Метод forAdManagerAdView()
подготавливает AdLoader
к приёму баннерной рекламы. При вызове forAdManagerAdView()
необходимо указать список допустимых размеров рекламных объявлений переменной длины вместе с OnAdManagerAdViewLoadedListener
.
Для корректного запроса рекламы необходимо указать хотя бы один допустимый размер. После успешной загрузки баннера вызывается метод onAdManagerAdViewLoaded()
указанного объекта прослушивателя.
Установите объект AdViewOptions
Последняя функция, включенная в создание AdLoader
, — это еще один необязательный метод withAdManagerAdViewOptions()
:
Ява
.withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual banner options settings. .build()
Котлин
.withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual banner options settings. .build()
Объект AdManagerAdViewOptions
позволяет издателям задавать определенные параметры для баннеров, загружаемых AdLoader
, например:
-
setManualImpressionsEnabled()
- Позволяет вручную регистрировать показы для резервирования в Google Ad Manager. Приложения, использующие ручные показы, могут самостоятельно определять, когда следует регистрировать показ, и делать это с помощью вызова
AdManagerAdView.recordManualImpression()
.