В IMA SDK для Android входит Open Measurement (OM) SDK – отраслевой стандарт, разработанный Бюро интерактивной рекламы (IAB), чтобы сторонние сервисы могли отслеживать видимость и проверять рекламу. Если вы используете IMA SDK для Android, то встроенная OM SDK автоматически анализирует тег <AdVerifications> в тегах объявлений VAST и отправляет данные о видимости указанным поставщикам данных с помощью OMID API. IMA SDK поддерживает OM SDK версии 1.6, расширения AdVerifications в Google Менеджере рекламы для VAST 2 и более поздних версий, а также узел AdVerifications в VAST 4 и более поздних версиях.Чтобы использовать Open Measurement, помните о следующем:
Чтобы использовать Open Measurement, вам понадобится IMA SDK для Android версии 3.11.0 или более поздней. Однако пример в этом руководстве предназначен для последней версии SDK и включает API, представленные в версии 3.16.5.
В объявлениях, которые передаются в VAST, необходимо настроить трафик
<AdVerifications>в соответствии со спецификацией VAST 4.1, если используется VAST 4.1 или более поздняя версия. В противном случае следует использовать<Extension type="AdVerifications">.Не закрывайте
AdDisplayContainerникакими оверлеями (прозрачными или непрозрачными), поскольку OM SDK пометит их как препятствия и снизит видимость.
Требования
- Если ваши объявления размещаются через Менеджер рекламы, настройте поставщика данных о видимости для сети Менеджера рекламы и назначьте его для позиции.
Тестирование
Чтобы протестировать Open Measurement с помощью IMA SDK, используйте версию IMA, которая поддерживает OM SDK, а также тестовый тег объявления.
В ответе VAST должен быть элемент <AdVerifications>.
Как регистрировать препятствия для оверлея с элементами управления видео
Элементы управления видео, такие как кнопки паузы и индикаторы выполнения, предоставляют пользователям важную информацию о воспроизведении и позволяют выполнять необходимые действия. На мобильных устройствах из-за неточных нажатий и ожиданий пользователей стало обычной практикой отрисовывать большие удобные элементы управления поверх медиаконтента. Обычно они появляются и исчезают при нажатии на экран и не видны большую часть времени воспроизведения.
Пример наложения элементов управления видео можно посмотреть на следующем изображении, где показаны элементы управления в приложении YouTube:

При использовании IMA SDK большинство издателей реализуют эти элементы управления, добавляя поверх контейнера для показа объявлений в основном прозрачное представление. Обычно элементы управления являются дочерними элементами этого представления, которое полностью закрывает видеопроигрыватель. Этот прозрачный слой используется для регистрации событий нажатия, а затем для отображения элементов управления пользователям.
При расчете видимости объявлений с помощью SDK для отслеживания Open Measurement все элементы, перекрывающие медиаконтент, считаются препятствиями и снижают коэффициент видимости. Если прозрачный оверлей для нажатия расположен над всем контейнером объявления, инвентарь может быть объявлен полностью невидимым.
В SDK Open Measurement предусмотрены элементы управления видео, которые считаются "дружественными" препятствиями, необходимыми для удобства пользователей. После регистрации такие элементы управления исключаются из оценки видимости объявлений.
При поддержке IAB и MRC в IMA SDK появился API для регистрации этих оверлеев в Open Measurement SDK. Эти элементы управления должны быть полностью прозрачными оверлеями или небольшими кнопками. Другие просмотры, не связанные с элементами управления видео, регистрировать не нужно.
| Зарегистрируйтесь | НЕ регистрируйтесь |
|---|---|
|
|
В приведенном ниже образце кода показано, как зарегистрировать наложения элементов управления видео в контейнере для показа объявлений:
private void registerFriendlyObstructions(
AdDisplayContainer adDisplayContainer, View transparentTapOverlay, View pauseButton) {
ImaSdkFactory imaSdkFactory = ImaSdkFactory.getInstance();
// Make sure to register all friendly obstructions before ad playback starts.
FriendlyObstruction overlayObstruction =
imaSdkFactory.createFriendlyObstruction(
transparentTapOverlay,
FriendlyObstructionPurpose.NOT_VISIBLE,
"This overlay is transparent");
FriendlyObstruction pauseButtonObstruction =
imaSdkFactory.createFriendlyObstruction(
pauseButton,
FriendlyObstructionPurpose.VIDEO_CONTROLS,
"This is the video player pause button");
adDisplayContainer.registerFriendlyObstruction(overlayObstruction);
adDisplayContainer.registerFriendlyObstruction(pauseButtonObstruction);
}
Когда они больше не нужны, их можно удалить, вызвав следующий метод:
private void unregisterFriendlyObstructions(AdDisplayContainer adDisplayContainer) {
adDisplayContainer.unregisterAllFriendlyObstructions();
}