IMA SDK для Android включает Open Measurement (OM) SDK — отраслевой стандарт, разработанный Бюро интерактивной рекламы (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 требуется IMA SDK для Android версии 3.11.0 или выше. Однако пример в этом руководстве разработан для последней версии SDK и включает API, представленные в версии 3.16.5.
Объявления должны быть настроены на трафик
<AdVerifications>в VAST в соответствии со спецификацией VAST 4.1 , если используется VAST 4.1+; в противном случае следует использовать<Extension type="AdVerifications">.Воздержитесь от перекрытия
AdDisplayContainerкакими-либо наложениями (прозрачными или непрозрачными), так как они будут помечены OM SDK как помехи и ухудшат видимость.
Предпосылки
- Если ваши объявления размещаются через Менеджер рекламы, настройте поставщика видимости для своей сети Менеджер рекламы и назначьте этого поставщика видимости своей позиции.
Тестирование
Для тестирования Open Measurement с использованием IMA SDK используйте версию IMA, которая поддерживает OM SDK, вместе с тестовым тегом объявления .
Вы должны увидеть <AdVerifications> в ответе VAST.
Регистрируем препятствия наложения видеоконтроля
Элементы управления видео, такие как кнопки паузы или индикаторы выполнения, предоставляют пользователям важную информацию о воспроизведении и действия. На мобильных устройствах неточные нажатия и ожидания пользователей привели к тому, что элементы управления медиа-элементами стали часто отображаться крупными, сенсорными. Эти элементы управления обычно появляются и исчезают при нажатии пользователем и не видны большую часть времени воспроизведения.
Пример наложения элементов управления видео см. на следующем изображении элементов управления рендерингом приложения YouTube:

При использовании IMA SDK большинство издателей реализуют эти элементы управления, добавляя почти прозрачное представление над контейнером отображения рекламы. Обычно элементы управления являются дочерними элементами этого представления, полностью перекрывающими видеоплеер. Этот прозрачный слой используется для захвата событий нажатия и последующего отображения элементов управления для пользователей при нажатии.
При расчёте видимости рекламы с помощью Open Measurement SDK все виды, перекрывающие медиа-элемент, считаются помехами и снижают показатель видимости. В случае, если прозрачный оверлей располагается поверх всего контейнера с рекламой, инвентарь может быть объявлен полностью недоступным для просмотра.
Open Measurement SDK позволяет считать элементы управления видео «дружественными» препятствиями, необходимыми для пользовательского опыта. После регистрации в качестве дружественных такие элементы управления исключаются из оценки видимости рекламы.
Благодаря поддержке 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();
}