适用于 iOS 的 IMA SDK 包含 Open Measurement (OM) SDK,这是由互动广告联盟 (IAB) 开发的业界标准,可实现第三方可见度和验证衡量。针对
iOS 设备,随附的 OM SDK 会自动解析
<AdVerifications>
代码,并将可见度数据发送到
通过 OMID API 指定指定的衡量服务供应商。IMA SDK 支持 OM SDK
v1.4、VAST 2+ 上的 GAM AdVerifications 扩展;
以及 VAST 4 上的 AdVerifications 节点
请注意以下几点:
如需使用 Open Measurement,您必须使用 iOS 版 IMA SDK 3.9.0 或更高版本。
必须将广告配置为在 VAST 中对
<AdVerifications>
进行投放管理 VAST 4.1 规范 如果使用的是 VAST 4.1 及以上版本;否则,<Extension type="AdVerifications">
。请勿使用任何叠加层(透明或不透明)遮盖
AdDisplayContainer
,因为这些叠加层会被 OMSDK 标记为遮挡物,从而降低可见度。
前提条件
- 如果您的广告是通过 Ad Manager 投放的,请将可见度 Ad Manager 广告联盟提供商 然后将该可见度提供商分配给您的订单项
测试
要使用 IMA SDK 测试 Open Measurement,请使用 上述 SDK 以及测试广告代码。
您应该会在 VAST 响应中看到返回的 <AdVerifications>
。
注册视频控件叠加层遮挡
视频控件(例如暂停按钮或进度条)可向用户提供重要的播放信息和操作。在移动设备上,由于点按不精确且用户有此预期,因此通常会在媒体元素上呈现大尺寸、触控友好的控件。这些控件通常会在 用户点按后,在绝大多数播放时间内都不可见。
以下是 YouTube 应用呈现的视频控件的示例:
在使用 IMA SDK 时,大多数发布商都是通过添加 (位于广告显示容器上方,大部分是透明的)。通常情况下, 控件是此视图的子元素,用于完全遮盖底层的 视频播放器。此透明叠加层用于捕获点按事件,然后在用户点按时向用户呈现控件。
通过 Open Measurement SDK 计算广告可见度时,所有叠加在媒体元素上的视图都会被视为遮挡,并会降低可见度。如果透明的点按叠加层位于 但在整个广告展示容器中,可以声明 完全无法看到
Open Measurement SDK 提供了相应规定,将视频控件视为对用户体验至关重要的“友好”遮挡元素。注册为友好广告控制功能后,这些功能将从广告可见度衡量范围中排除。
IMA SDK 在获得 IAB 和 MRC 支持后,引入了一个 API,用于在 Open Measurement SDK 中注册这些叠加层。这些控件必须是完全透明的叠加层或小按钮。与视频控件无关的其他所有视图都必须 未注册。
立即注册 | 请勿注册 |
---|---|
|
|
以下示例代码演示了如何注册视频控件叠加层 :
<ph type="x-smartling-placeholder">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];