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. Эти элементы управления должны представлять собой полностью прозрачные наложения или небольшие кнопки. Любые другие виды, не связанные с управлением видео, регистрироваться не должны.
НЕОБХОДИМО зарегистрироваться | НЕ регистрируйтесь |
---|---|
|
|
В следующем примере кода показано, как зарегистрировать наложения элементов управления видео в контейнере отображения рекламы:
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];