Как включить Open Measurement

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

В IMA SDK для iOS входит Open Measurement (OM) SDK – отраслевой стандарт, разработанный Бюро интерактивной рекламы (IAB), который позволяет сторонним поставщикам отслеживать видимость и проверять рекламу. При использовании IMA SDK для iOS встроенный OM SDK автоматически анализирует тег <AdVerifications> в тегах объявлений VAST и отправляет данные о видимости указанным поставщикам услуг по отслеживанию с помощью OMID API. IMA SDK поддерживает OM SDK версии 1.6, расширения AdVerifications GAM в VAST 2+ и узел AdVerifications в VAST 4+.Чтобы использовать Open Measurement, учитывайте следующее:

  • Чтобы использовать Open Measurement, у вас должна быть версия IMA SDK для iOS 3.9.0 или более поздняя.

  • Объявления должны быть настроены так, чтобы в их коде VAST передавался элемент <AdVerifications> в соответствии со спецификацией VAST 4.1, если используется VAST 4.1 или более поздней версии. В противном случае необходимо использовать элемент <Extension type="AdVerifications">.

  • Не закрывайте AdDisplayContainer никакими оверлеями (прозрачными или непрозрачными), поскольку OM SDK пометит их как препятствия и снизит видимость.

Требования

Тестирование

Чтобы протестировать Open Measurement с помощью IMA SDK, используйте версию IMA, которая поддерживает OM SDK, а также тестовый тег объявления.

В ответе VAST должен быть возвращен параметр <AdVerifications>.

Регистрация помех, связанных с оверлеем элементов управления видео

Элементы управления видео, такие как кнопки паузы и индикаторы выполнения, предоставляют пользователям важную информацию о воспроизведении и позволяют выполнять необходимые действия. На мобильных устройствах неточные нажатия и ожидания пользователей привели к тому, что над медиаэлементом стали отображаться большие, удобные для сенсорного управления элементы управления. Обычно они появляются и исчезают при нажатии на экран и не видны большую часть времени воспроизведения.

Пример наложения элементов управления видео можно посмотреть на следующем изображении, где показаны элементы управления в приложении YouTube:

Пример оверлея Open Measurement

При использовании IMA SDK большинство издателей реализуют эти элементы управления, добавляя поверх контейнера для показа объявлений в основном прозрачное представление. Обычно элементы управления являются дочерними элементами этого представления, которое полностью закрывает видеопроигрыватель. Этот прозрачный слой используется для регистрации событий нажатия, а затем для отображения элементов управления пользователям.

При расчете видимости объявлений с помощью SDK для отслеживания Open Measurement все представления, перекрывающие медиаэлемент, считаются препятствиями и снижают показатель видимости. Если прозрачный оверлей для нажатия расположен над всем контейнером объявления, инвентарь может быть объявлен полностью невидимым.

В SDK Open Measurement предусмотрены элементы управления видео, которые считаются "дружественными" препятствиями, необходимыми для удобства пользователей. После регистрации как дружественного эти элементы управления исключаются из измерений видимости объявлений.

При поддержке IAB и MRC в IMA SDK появился API для регистрации этих оверлеев в Open Measurement SDK. Эти элементы управления должны быть полностью прозрачными оверлеями или небольшими кнопками. Другие просмотры, не связанные с элементами управления видео, регистрировать не нужно.

Зарегистрируйтесь НЕ регистрируйтесь
  • Прозрачный оверлей для регистрации нажатий пользователей
  • Временные кнопки
    • Приостановить
    • Воспроизвести
    • Полноэкранный режим
    • Cast/AirPlay
    • Свернуть
    • Перемотка
    • Другие действия, связанные с воспроизведением
  • Водяные знаки
  • Всплывающие окна
  • Диал. окна
  • Непостоянные кнопки
  • Другие способы скрытия контента

В приведенном ниже образце кода показано, как зарегистрировать наложения элементов управления видео в контейнере для показа объявлений:

UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Replace myTransparentTapOverlay and myPauseButton with your own elements
// that function as video control overlays.
// Make sure to register before ad playback starts.
IMAFriendlyObstruction *overlayObstruction =
   [[IMAFriendlyObstruction alloc] initWithView:myTransparentTapOverlay
                                          purpose:IMAFriendlyObstructionPurposeNotVisible
                                 detailedReason:@"This overlay is transparent"];
IMAFriendlyObstruction *pauseButtonObstruction =
   [[IMAFriendlyObstruction alloc] initWithView:myPauseButton
                                          purpose:IMAFriendlyObstructionPurposeMediaControls
                                 detailedReason:@"This is the video player pause button"];

[displayContainer registerFriendlyObstruction:overlayObstruction];
[displayContainer registerFriendlyObstruction:pauseButtonObstruction];

Когда они больше не нужны, их можно удалить, вызвав следующий метод:

Objective-C

- (void)unregisterObstructionsForContainer:(IMAAdDisplayContainer *)displayContainer {
    // This removes all previously registered friendly obstructions from the container.
    [displayContainer unregisterAllFriendlyObstructions];
}

Swift

func unregisterObstructions(displayContainer: IMAAdDisplayContainer) {
  // This removes all previously registered friendly obstructions from the container.
  displayContainer.unregisterAllFriendlyObstructions()
}