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

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

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

Требования

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

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

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

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

Прежде чем запрашивать сопутствующее объявление, необходимо создать для него место в макете. Добавьте элемент ViewGroup в XML-код макета. В этом примере используется 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 в Менеджере рекламы. На изображении ниже показано, где задать это значение.

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

Обновите приложения Android для работы с Fluid Companion

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

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

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

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

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

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