Включить открытое измерение

SDK для интерактивной медиарекламы (IMA) для iOS.

IMA SDK для iOS включает Open Measurement (OM) SDK — отраслевой стандарт, разработанный Бюро интерактивной рекламы (IAB) для обеспечения стороннего измерения видимости и верификации. При использовании IMA SDK для iOS входящий в комплект 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 для iOS 3.9.0 или выше.

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

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

Предпосылки

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

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

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

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

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

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

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

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

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

Благодаря поддержке 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)];
// 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];