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

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

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

Предпосылки

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

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

Следуйте инструкциям, чтобы добавить слот для сопутствующей рекламы и отображать сопутствующие объявления в своем приложении.

Создайте ViewGroup для отображения вашего компаньона

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

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

activity_my.xml

<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 .

ImaSdkFactory sdkFactory = ImaSdkFactory.getInstance();
ViewGroup companionViewGroup = (ViewGroup) findViewById(R.id.companionAdSlot);

CompanionAdSlot companionAdSlot = sdkFactory.createCompanionAdSlot();
companionAdSlot.setContainer(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

adsLoader = new ImaAdsLoader.Builder(this).setCompanionAdSlots(companionAdSlots).build();

Другие реализации

adsLoader.getAdDisplayContainer().setCompanionSlots(companionAdSlots);

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

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

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

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

Обновите приложения Android для новых возможностей

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

ImaSdkFactory sdkFactory = ImaSdkFactory.getInstance();
ViewGroup companionViewGroup = (ViewGroup) findViewById(R.id.companionAdSlot);

CompanionAdSlot companionAdSlot = sdkFactory.createCompanionAdSlot();
companionAdSlot.setContainer(companionViewGroup);
companionAdSlot.setSize(CompanionAdSlot.FLUID_SIZE, CompanionAdSlot.FLUID_SIZE);
ArrayList<CompanionAdSlot> companionAdSlots = new ArrayList<CompanionAdSlot>();
companionAdSlots.add(companionAdSlot);

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

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

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

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