Открытое измерение в IMA SDK

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

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

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

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

Предварительные условия

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

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

В ответе VAST вы должны увидеть <AdVerifications> .

Регистрация препятствий наложения элементов управления видео

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

Ниже приведен пример элементов управления видео, отображаемых в приложении YouTube:

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

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

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

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

НЕОБХОДИМО зарегистрироваться НЕ регистрируйтесь
  • Прозрачное наложение для отслеживания нажатий пользователя
  • Переходные кнопки
    • Пауза
    • Играть
    • Полноэкранный
    • В ролях/AirPlay
    • Крах
    • Прогресс/Поиск
    • Другие действия, связанные с воспроизведением
  • Водяные знаки
  • Всплывающие окна
  • Диалоги
  • Непереходные кнопки
  • Другие скрывающие взгляды

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

UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Substitute "myTransparentTapOverlay" and "myPauseButton" with the elements
// you want to register as video controls 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];

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

[displayContainer unregisterAllFriendlyObstructions];