IMA SDK для Android включает в себя Open Measurement (OM) SDK — отраслевой стандарт, разработанный Interactive Advertising Bureau (IAB) для обеспечения возможности измерения видимости и проверки сторонними сервисами. При использовании IMA SDK для Android, включенный в комплект OM SDK автоматически анализирует тег <AdVerifications> в рекламных тегах VAST и отправляет данные о видимости указанным поставщикам услуг измерения с помощью API OMID. IMA SDK поддерживает OM SDK версии 1.4, расширения GAM AdVerifications на VAST 2+ и узел AdVerifications на VAST 4+. Чтобы воспользоваться преимуществами Open Measurement, следует помнить о следующих моментах:
Для использования Open Measurement вам потребуется версия 3.11.0 или выше IMA SDK для Android. Однако пример в этом руководстве разработан для новейшей версии SDK и включает API, представленные в версии 3.16.5.
В соответствии со спецификацией VAST 4.1, объявления должны быть настроены на передачу
<AdVerifications>в VAST, если используется VAST 4.1 и выше; в противном случае следует использовать<Extension type="AdVerifications">.Не следует перекрывать
AdDisplayContainerкакими-либо наложениями (прозрачными или непрозрачными), поскольку SDK OM будет рассматривать их как препятствия, что снизит видимость.
Предварительные требования
- Если ваши объявления размещаются через Ad Manager, настройте поставщика видимости для вашей сети Ad Manager и назначьте этого поставщика видимости вашему товару.
Тестирование
Для тестирования Open Measurement с использованием IMA SDK используйте версию IMA, поддерживающую OM SDK, а также тестовый рекламный тег .
В ответе VAST вы должны увидеть <AdVerifications> .
Зарегистрируйте элементы управления видео, наложите препятствия.
Элементы управления видео, такие как кнопки паузы или индикаторы выполнения, предоставляют пользователям важную информацию о воспроизведении и необходимые действия. На мобильных устройствах неточные касания и ожидания пользователей привели к распространенной практике отображения больших, удобных для сенсорного управления элементов управления поверх медиаконтента. Эти элементы управления обычно плавно появляются и исчезают при касании пользователя и остаются невидимыми на протяжении большей части времени воспроизведения.
Пример наложения элементов управления видео можно увидеть на следующем изображении, демонстрирующем элементы управления рендерингом в приложении YouTube:

При использовании IMA SDK большинство издателей реализуют эти элементы управления, добавляя над контейнером рекламного объявления элемент, который в основном прозрачен. Обычно элементы управления являются дочерними элементами этого элемента, полностью перекрывающими расположенный под ним видеоплеер. Это прозрачное наложение используется для перехвата событий касания и последующего отображения элементов управления пользователям при нажатии.
При расчете видимости рекламы с помощью Open Measurement SDK все элементы, перекрывающие медиаконтент, считаются препятствиями и снижают показатель видимости. В случае, если прозрачное наложение поверх всего контейнера с рекламой создает эффект полного невидимости, рекламный инвентарь может быть объявлен полностью невидимым.
SDK Open Measurement позволяет рассматривать элементы управления видео как «дружественные» препятствия, необходимые для удобства пользователя. После регистрации в качестве дружественных эти элементы управления исключаются из измерения видимости рекламы.
Благодаря поддержке IAB и MRC, SDK IMA предоставляет API для регистрации этих наложений в SDK Open Measurement. Эти элементы управления должны представлять собой полностью прозрачные наложения или небольшие кнопки. Любые другие представления, не связанные с элементами управления видео, регистрироваться не должны.
| РЕГИСТРАЦИЯ | НЕ регистрируйтесь |
|---|---|
|
|
Приведенный ниже пример кода демонстрирует, как зарегистрировать наложения элементов управления видео на контейнере отображения рекламы:
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();
}