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

Выберите платформу: Android iOS Flutter

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

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

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

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

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

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

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

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

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

    Котлин

    private val adWidth: Int
      get() {
        val displayMetrics = resources.displayMetrics
        val adWidthPixels =
          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
            val windowMetrics: WindowMetrics = this.windowManager.currentWindowMetrics
            windowMetrics.bounds.width()
          } else {
            displayMetrics.widthPixels
          }
        val density = displayMetrics.density
        return (adWidthPixels / density).toInt()
      }
    

    Ява

    public int getAdWidth() {
      DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
      int adWidthPixels = displayMetrics.widthPixels;
    
      if (VERSION.SDK_INT >= VERSION_CODES.R) {
        WindowMetrics windowMetrics = this.getWindowManager().getCurrentWindowMetrics();
        adWidthPixels = windowMetrics.getBounds().width();
      }
    
      float density = displayMetrics.density;
      return (int) (adWidthPixels / density);
    }
    
  2. Используйте соответствующие статические методы в классе размера рекламы, например AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width) чтобы получить встроенный адаптивный объект размера рекламы для выбранной ориентации.

    Котлин

    val adView = AdView(this@MainActivity)
    adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, adWidth))

    Ява

    final AdView adView = new AdView(MainActivity.this);
    adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, getAdWidth()));

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

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

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

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

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

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

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

Дополнительные ресурсы

Примеры на GitHub

Загрузите пример приложения, чтобы увидеть встроенные адаптивные баннеры в действии.

Java Kotlin