Как задать фиксированный размер баннера

Google Mobile Ads SDK (Legacy) поддерживает фиксированные размеры объявлений, если адаптивные баннеры вам не подходят.

В таблице ниже перечислены стандартные размеры баннеров.

Размер в единицах, не зависящих от плотности (ширина x высота) Описание Доступность Константа AdSize
320 x 50 Баннер Телефоны и планшеты BANNER
320 x 100 Большой баннер Телефоны и планшеты LARGE_BANNER
300 x 250 Средний прямоугольник IAB Телефоны и планшеты MEDIUM_RECTANGLE
468 x 60 Полноразмерный баннер IAB Планшеты FULL_BANNER
728 x 90 Полноразмерный баннер IAB Планшеты LEADERBOARD

Размер контейнера должен быть не меньше баннера, который в нем размещается Поля уменьшают размер контейнера. Если контейнер не подходит для баннера, объявление не показывается и регистрируется следующее предупреждение:

W/Ads: Not enough space to show ad. Needs 320x50 dp, but only has 288x495 dp.

Добавьте AdManagerAdView в макет

Вместо того чтобы создавать элемент AdManagerAdView программно, добавьте его AdManagerAdView в XML-макет для элемента Activity или Fragment, в котором вы хотите его показывать. Пример:

<com.google.android.gms.ads.admanager.AdManagerAdView
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:id="@+id/banner_ad_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="/21775744923/example/fixed-size-banner" />

Обязательные атрибуты:

  • ads:adSize – задайте размер рекламы, который вы хотите использовать. Если вы не хотите использовать стандартный размер, заданный константой, вы можете указать собственный размер. Пример: ads:adSize="320x50".

  • ads:adUnitId – укажите рекламный блок в приложении, в котором должны показываться объявления. Если вы показываете баннеры в разных действиях, для каждого из них потребуется отдельный рекламный блок.

Специальный размер объявления

Если у вас есть позиции для резервирования в Менеджере рекламы с таргетингом на специальный размер, вы можете создать AdSize с шириной и высотой, соответствующими вашей позиции.

Java

AdSize customAdSize = new AdSize(250, 250);
AdManagerAdView adView = new AdManagerAdView(this);
adView.setAdSizes(customAdSize);

Kotlin

val customAdSize = AdSize(250, 250)
val adView = AdManagerAdView(this)
adView.setAdSizes(customAdSize)

Несколько размеров объявлений

Если вы хотите настроить таргетинг позиций с объявлениями разных размеров в одном запросе объявления,AdManagerAdView позволяет задать несколько размеров объявлений одновременно.

Java

AdManagerAdView adView = new AdManagerAdView(this);
adView.setAdSizes(AdSize.BANNER, new AdSize(120, 20), new AdSize(250, 250));

Kotlin

val adView = AdManagerAdView(this)
adView.setAdSizes(AdSize.BANNER, AdSize(120, 20), AdSize(250, 250))

По умолчанию AdManagerAdView соответствует первому размеру объявления. После загрузки объявления размер AdManagerAdView изменится на размер загруженного объявления. Макет должен автоматически адаптироваться к новому размеру.

Вы также можете указать несколько размеров объявлений с помощью атрибута ads:adSizes в файле макета XML:

<com.google.android.gms.ads.admanager.AdManagerAdView
   android:id="@+id/multiple_ad_sizes_view"
   android:layout_width="wrap_parent"
   android:layout_height="wrap_content"
   android:layout_alignParentBottom="true"
   android:layout_centerHorizontal="true"
   ads:adSizes="BANNER,120x20,250x250"
   ads:adUnitId="AD_UNIT_ID" />

Пример объявления с несколькими размерами

Java Kotlin