本页面提供了有关 IMA DAI 对浏览器、视频格式和平台的支持和兼容性的一般信息。
支持的视频格式和浏览器
HTML5 仍是一种新兴且不断发展的标准。因此,不同浏览器对各种功能的支持情况各不相同,而且没有一种默认视频格式受到所有主流浏览器的支持。大多数浏览器中使用的三种主要视频格式是 H.264、HLS 和 Dash。
VAST 事件兼容性
本部分列出了根据 VAST 响应中返回的信息自动向服务器报告的 VAST 事件。
完全支持
complete、creativeView、firstQuartile、impression、midpoint、pause、resume、rewind(在向后搜索时触发)、start、thirdQuartile。
部分支持
click系统仅针对视频广告发送
Click事件。 无法在 Android、iOS 或桌面设备上的原生全屏播放器中捕获点击,但当视频关闭时,页内点击跟踪元素仍可捕获点击。不过,如果视频元素在 iPad 上使用原生控件,则无法捕获点击。fullscreen
IMA 支持模拟全屏 模式, 在这种模式下,视频会占据整个浏览器窗口。 当视频的
offsetWidth和offsetHeight至少达到文档正文的大小后,IMA 会将该视频视为处于全屏模式。 所有浏览器都支持此模式。在 iPhone 和 3.0 之前的 Android 平台上, 视频始终以全屏模式播放。
mute、unmuteiOS 和 Android 仅具有音量的原生控制权。因此,IMA 无法确定音量或静音状态,也不会收到 SDK 的更改通知。下面列出了 支持和不支持
mute、unmute的浏览器版本:- 支持: Firefox 3.5+、Chrome 8+、Safari 4+
- 不支持: iOS、Android
如需详细了解 VAST 广告投放,请参阅 IAB 指南。
重新观看广告插播时间段时的广告事件
IMA 不会在重新观看广告时触发广告事件,原因如下:
- 事件网址应仅触发一次,否则可能会被视为垃圾 行为。
- 这样,用户就可以在已观看的广告插播时间段内和附近搜索, 从而获得更好的搜索体验。
以下是重新观看广告插播时间段时触发的唯一事件:
AD_PERIOD_STARTEDAD_PERIOD_ENDED
支持的视频播放器平台
Google IMA SDK 支持以下平台:
| 平台 | 版本 |
|---|---|
| HTML5 | 桌面设备:Chrome、Firefox、Safari、Edge、Opera 移动设备:Chrome/Android 浏览器(适用于手机和平板电脑的 Android)、Safari 和 Chrome (iOS) |
| iOS | iOS 10.0 及更高版本 |
| Android | Android 4.4 及更高版本 |
| Google Cast | 所有投放设备 |
| tvOS | tvOS 15 及更高版本 |
| Roku | 所有仍在接收 Roku 软件更新的设备 |
视频流格式支持
IMA 的所有 SDK 都支持 HLS 和 DASH。如需了解特定 SDK 平台的支持情况,请参阅此表 。为了能够正常播放流,您的视频播放器 需要支持所使用的流类型。
| IMA SDK 平台 | HLS | DASH |
|---|---|---|
| HTML5 | ![]() |
![]() |
| iOS | ![]() |
![]() |
| Android | ![]() |
![]() |
| Google Cast | ![]() |
![]() |
| tvOS | ![]() |
![]() |
| Roku | ![]() |
![]() |
视频功能和 SDK 版本
如需详细了解以下功能,请阅读 视频广告概览。
| IAB 视频广告套件 | 支持 |
|---|---|
| VAST 4 | 1 |
| VAST 3 | 2 |
| VAST 2 | ![]() |
| VPAID 2 | ![]() |
| VMAP 1.0.1 | 3 |
| Ad Manager 视频广告功能 | 支持 |
| 线性广告 | ![]() |
| 非线性广告(叠加式广告) | ![]() |
| 随播广告 | 4 |
| VAST 3 备用随播广告资源 | ![]() |
| Active View 可见率 | ![]() |
| VAST 重定向 | ![]() |
| 使用展示广告请求回填随播广告 | ![]() |
| Google 发布商代码 (GPT) 兼容性 | ![]() |
| 内容感知 | ![]() |
| 广告规则 | ![]() |
| 广告连播 | ![]() |
| 导视广告 | ![]() |
| 多事件跟踪 (MET) 报告 | ![]() |
| 可跳过(预订型 / 非 TrueView) | 5 |
| AdSense 视频广告功能 7 | 支持 |
| TrueView InStream | 6 |
| 插播可选广告 | ![]() |
| 标准视频插播广告 | ![]() |
| 全时段广告 | ![]() |
| 随播广告 | 4 |
| 随播广告回填 | ![]() |
| 叠加式广告 | ![]() |
| Ad Manager Ad Exchange 功能 | 支持 |
| TrueView InStream | 6 |
| 插播可选广告 | ![]() |
| 标准视频插播广告 | ![]() |
| 全时段广告 | ![]() |
| 随播广告 | 4 |
| 随播广告回填 | ![]() |
| 叠加式广告 | ![]() |
| Active View 可见率 | ![]() |
| 为什么显示该广告? __ | 8 |
1 在 Google Ad Manager 支持的 VAST 4 功能中,IMA 支持以下功能:
- VAST 4.2
- 支持安全 交互式媒体接口定义 (SIMID)
- 允许使用多个
UniversalAdID节点
- VAST 4.0
- AdID
- Mezzanine 文件
- 新的 VAST 错误代码
- 新的 VAST 宏
AdVerifications支持
2 尚不支持以下 VAST 3.0 功能:
- 配套设备
adSlotId - 随播广告投放选项
- Icons
3 尚不支持以下 VMAP 功能:
- VMAP 专用跟踪事件
- VMAP 专用错误代码
- 叠加式广告
- hh:mm:ss 或“start”和“end”以外的时间偏移量
- 显示
breakType属性 repeatAfter属性
4 仅支持图片随播广告。图片随播广告 需要自定义实现才能填充广告。tvOS 不支持随播广告。
5 传统可跳过式广告仅在适用于 HTML5、iOS、tvOS、Roku 和 Android(包括 Android TV)的 IMA DAI SDK 中受支持。使用 Cast SDK 时,您必须使用
StreamRequest.senderCanSkip,
声明跳过功能,才能支持传统可跳过式广告。
6 TrueView 可跳过式广告在 适用于 HTML5、iOS、tvOS、Roku 和 Android(包括 Android TV)的 IMA DAI SDK 中受支持。
7 Cast SDK 不支持 AdSense 功能。
8 如需使用“为什么显示该广告?”,则必须在创建 StreamManager 时传递 adUiElement 参数。Cast SDK 不支持“为什么显示该广告? ”。
JavaScript 框架的注意事项
将 JavaScript 框架(例如 React 或 AngularJS)与 IMA HTML5 SDK 搭配使用时,需要注意一些事项。这些框架通常会移动 DOM 的元素,这可能会破坏 IMA SDK,因为 SDK 在初始化时需要 DOM 保持静态。如果 SDK 在框架完成移动 DOM 元素后初始化,则 IMA SDK 支持 JavaScript 框架。
具体而言,在构建
StreamManager
时作为 adUiElement 实参传递的 HTML5 元素在实例化后不应移动。

