Встроенные адаптивные баннеры

Адаптивные баннеры позволяют задать ширину объявления для определения его оптимального размера. Адаптивные баннеры также повышают эффективность, оптимизируя размер объявления для каждого устройства. Такой подход позволяет повысить производительность.

По сравнению с закреплёнными адаптивными баннерами, встроенные адаптивные баннеры больше, выше и имеют переменную, а не фиксированную высоту. Встроенные адаптивные баннеры имеют переменную высоту и могут занимать весь экран или достигать заданной вами максимальной высоты.

Вы размещаете встроенные адаптивные баннеры в прокручиваемом контенте, например:

Диаграмма, показывающая различия между адаптивными и встроенными адаптивными баннерами

Прежде чем начать

Прежде чем продолжить, убедитесь, что вы ознакомились с руководством по началу работы Баннерная реклама .

Внедрите адаптивные баннеры

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

  1. Укажите ширину используемого устройства или задайте собственную ширину, если вы не хотите использовать всю ширину экрана.

  2. Чтобы получить встроенный адаптивный объект размера рекламы для выбранной ориентации, используйте статический метод в классе размера рекламы:

    Следующий пример демонстрирует эти шаги:

    Котлин

    private fun loadAd() {
      // Create an inline adaptive ad size. 320 is a placeholder value.
      // Replace 320 with your banner container width.
      val adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320)
    
      // Step 1 - Create a BannerAdRequest object with ad unit ID and size.
      val adRequest = BannerAdRequest.Builder("AD_UNIT_ID", adSize).build()
    
      // Step 2 - Load the ad.
      BannerAd.load(
        adRequest,
        object : AdLoadCallback<BannerAd> {
          override fun onAdLoaded(ad: BannerAd) {
            // Assign the loaded ad to the BannerAd object.
            bannerAd = ad
            // Step 3 - Call BannerAd.getView() to get the View and add it
            // to view hierarchy on the UI thread.
            activity?.runOnUiThread {
              binding.bannerViewContainer.addView(ad.getView(requireActivity()))
            }
          }
    
          override fun onAdFailedToLoad(loadAdError: LoadAdError) {
            bannerAd = null
          }
        }
      )
    }
    

    Ява

    private void loadAd() {
      // Create an inline adaptive ad size. 320 is a placeholder value.
      // Replace 320 with your banner container width.
      AdSize adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320);
    
      // Step 1 - Create a BannerAdRequest object with ad unit ID and size.
      BannerAdRequest adRequest = new BannerAdRequest.Builder("AD_UNIT_ID",
          adSize).build();
    
      // Step 2 - Load the ad.
      BannerAd.load(
          adRequest,
          new AdLoadCallback<BannerAd>() {
            @Override
            public void onAdLoaded(@NonNull BannerAd ad) {
              // Assign the loaded ad to the BannerAd object.
              bannerAd = ad;
              // Step 3 - Call BannerAd.getView() to get the View and add it
              // to view hierarchy on the UI thread.
              if (getActivity() != null) {
                getActivity()
                    .runOnUiThread(() ->
                        binding.bannerViewContainer.addView(ad.getView(getActivity())));
              }
            }
    
            @Override
            public void onAdFailedToLoad(@NonNull LoadAdError adError) {
              bannerAd = null;
            }
          });
    }
    

    При внедрении адаптивных баннеров в ваше приложение обратите внимание на следующие моменты:

    • Размеры встроенных адаптивных баннеров лучше всего работают при использовании всей доступной ширины. В большинстве случаев этот размер равен полной ширине экрана используемого устройства или полной ширине родительского контента баннера. Вам необходимо знать ширину области, в которой будет размещаться объявление, ширину устройства, ширину родительского контента и применимые безопасные зоны.

    Ориентировать размер встроенного адаптивного баннера

    Для предварительной загрузки встроенного адаптивного баннера для определенной ориентации используйте следующие методы:

    Если ваше приложение поддерживает как портретную, так и альбомную ориентацию и вы хотите предварительно загрузить адаптивный баннер в текущей ориентации, используйте AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width) Этот метод загружает рекламу в текущей ориентации.

    Ограничить высоту встроенного адаптивного баннера

    По умолчанию для встроенных адаптивных баннеров, созданных без значения maxHeight , значение maxHeight равно высоте устройства. Чтобы ограничить высоту встроенного адаптивного баннера, используйте метод AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight) .