Это руководство предназначено для издателей, которые хотят добавить сопутствующие объявления в свою реализацию 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, в котором видеоконтент воспроизводится вверху, а сопутствующее объявление – внизу.