Объедините запросы на нативную рекламу и баннерную рекламу

Внеся несколько изменений в код, вы сможете объединять нативную и баннерную рекламу в своих рекламных запросах.

Предпосылки

  • Версия 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() .