本页面提供了有关 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 适用于 HTML5、iOS、tvOS、Roku 和 Android(包括 Android TV)的 IMA DAI SDK 支持 TrueView 可跳过广告。
7 Cast SDK 不支持 AdSense 功能。
8 如需使用“为什么显示该广告?”,必须在创建 StreamManager 时传递 adUiElement 参数。Cast SDK 不支持“为什么显示该广告?”。
JavaScript 框架的注意事项
将 JavaScript 框架(例如 React 或 AngularJS)与 IMA HTML5 SDK 搭配使用时,需要注意一些事项。这些框架通常会移动 DOM 元素,这可能会破坏 IMA SDK,因为 SDK 在初始化时需要 DOM 保持静态。只要在框架完成移动 DOM 元素后初始化 IMA SDK,IMA SDK 就支持 JavaScript 框架。
具体而言,在构建
StreamManager
时作为 adUiElement 实参传递的 HTML5 元素在实例化后不应移动。
Apple AirPlay 支持
IMA SDK 不支持 Apple AirPlay。您可以停用 AirPlay,也可以在检测到 AirPlay 时停用广告请求。

