Как добавить поддержку сопутствующих объявлений

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

Это руководство предназначено для издателей, которые хотят добавить сопутствующие объявления в свою реализацию IMA для Android.

Требования

  • Приложение для Android с интегрированным IMA SDK. Если у вас ещё нет приложения с интегрированным SDK, ознакомьтесь с BasicExample. Если вам нужна помощь с реализацией IMA SDK в приложении, ознакомьтесь со статьей Как настроить IMA SDK.
  • Тег объявления, настроенный на показ сопутствующего объявления. Пример можно найти в разделе часто задаваемых вопросов.

Как добавить сопутствующие объявления в приложение

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

Создайте ViewGroup для показа сопутствующего креатива

Прежде чем запрашивать сопутствующее объявление, необходимо создать для него место в макете. В XML-код макета добавьте элемент ViewGroup. В этом примере используется элемент LinearLayout. Позже вы передадите ссылку на этот элемент в AdDisplayContainer.

Если вы интегрируете SDK в приложение BasicExample, добавьте этот код в файл activity_my.xml под строкой videoPlayerContainer.

<LinearLayout
    android:id="@+id/companionAdSlot"
    android:layout_width="match_parent"
    android:layout_height="250dp"
    android:layout_gravity="center_horizontal"
    android:gravity="center"
    android:orientation="vertical"
    android:textAlignment="center" />

Создать CompanionAdSlot

Затем нужно создать объект CompanionAdSlot, который добавляется в экземпляр ArrayList<CompanionAdSlot>. Интерфейс AdDisplayContainer принимает список рекламных мест для сопутствующих объявлений, поэтому вы можете показывать несколько сопутствующих объявлений одновременно. Чтобы создать объект CompanionAdSlot, нужно создать экземпляр класса ImaSdkFactory.

public void createCompanionAdSlot(ViewGroup companionViewGroup) {
  ImaSdkFactory sdkFactory = ImaSdkFactory.getInstance();
  CompanionAdSlot companionAdSlot = sdkFactory.createCompanionAdSlot(companionViewGroup);
  companionAdSlot.setSize(300, 250);
  ArrayList<CompanionAdSlot> companionAdSlots = new ArrayList<CompanionAdSlot>();
  companionAdSlots.add(companionAdSlot);
}

Создайте рекламное место для сопутствующих объявлений каждого размера, который вы планируете показывать в приложении. IMA SDK заполняет рекламное место для сопутствующих объявлений любыми сопутствующими объявлениями из ответа VAST, размеры которых соответствуют высоте и ширине представления. IMA SDK также поддерживает сопутствующие объявления с гибкими размерами. После создания объектов companionAdSlots добавьте их в слой AdsLoader. В примерах ниже показано, как это сделать, в зависимости от того, используете ли вы расширение ExoPlayer-IMA или другие реализации IMA, в которых оно не используется.

Расширение ExoPlayer-IMA

public void setCompanionAdSlotExoPlayer(
    Context context, ArrayList<CompanionAdSlot> companionAdSlots) {
  ImaAdsLoader adsLoader =
      new ImaAdsLoader.Builder(context).setCompanionAdSlots(companionAdSlots).build();
}

Прочие реализации

public void setCompanionAdSlot(
    AdDisplayContainer adDisplayContainer, ArrayList<CompanionAdSlot> companionAdSlots) {
  adDisplayContainer.setCompanionSlots(companionAdSlots);
}

Вот и все! Теперь в вашем приложении показываются сопутствующие объявления.

Показ адаптивных сопутствующих объявлений

IMA поддерживает сопутствующие объявления с гибкими размерами. Сопутствующие объявления могут менять размер, чтобы соответствовать размеру рекламного места. Они занимают 100% ширины родительского представления, а их высота изменяется в соответствии с размером сопутствующего контента. Они задаются с помощью параметра Fluid companion size в Менеджере рекламы. На изображении ниже показано, где задать это значение.

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

Обновите приложения Android для работы с сопутствующими устройствами

Чтобы объявить слот для адаптивного дополнительного объявления, обновите метод CompanionAdSlot.setSize(), чтобы в качестве обоих параметров использовалось значение CompanionAdSlot.FLUID_SIZE.

companionAdSlot.setSize(CompanionAdSlot.FLUID_SIZE, CompanionAdSlot.FLUID_SIZE);

Часто задаваемые вопросы

Я следовал инструкциям, но сопутствующие объявления не показываются. Что делать?
Сначала убедитесь, что тег действительно возвращает дополнительные объявления. Для этого откройте тег в веб-браузере и найдите тег <CompanionAds>. Если вы видите такое сообщение, убедитесь, что размер возвращаемого сопутствующего креатива совпадает с размерами, которые вы передаете в объект CompanionAdSlot.
Как будет выглядеть место для сопутствующего объявления после выполнения инструкций?

На изображении ниже показан пример BasicExample, в котором видеоконтент воспроизводится вверху, а сопутствующее объявление – внизу.

Пример изображения сопутствующего объявления для Android в IMA SDK.