本页提供有关 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
、unmute
iOS 和 Android 仅具有对音量的原生控制。因此,IMA 无法确定音量或静音状态,也不会收到 SDK 的更改通知。以下是支持和不支持
mute
、unmute
的浏览器版本列表:- 支持:Firefox 3.5+、Chrome 8+、Safari 4+
- 不支持:iOS、Android
如需详细了解 VAST 广告投放,请参阅 IAB 指南。
重新观看广告插播时的广告事件
IMA 在重新观看广告时不会触发广告事件,原因如下:
- 事件网址应仅触发一次,否则可能会被视为垃圾行为。
- 这样一来,用户就可以在已观看的广告插播时间点前后进行搜索,从而获得更好的搜索体验。
重新观看广告插播时,系统只会触发以下事件:
AD_PERIOD_STARTED
AD_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 14+ |
Roku | 所有仍在接收 Roku 软件更新的设备 |
视频流格式支持
IMA 在其所有 SDK 中都支持 HLS 和 DASH。如需了解特定 SDK 平台的支持情况,请参阅此表。为了正常播放流,您的视频播放器需要支持所使用的流类型。
IMA SDK 平台 | HLS | DASH |
---|---|---|
HTML5 | ![]() |
![]() |
iOS | ![]() |
![]() |
Android | ![]() |
![]() |
Google Cast | ![]() |
![]() |
tvOS | ![]() |
![]() |
Roku | ![]() |
![]() |
视频功能和 SDK 版本
如需详细了解以下功能,请参阅视频广告概览。
IAB 视频广告套件 | 支持 |
---|---|
VAST 4 | ![]() |
VAST 3 | ![]() |
VAST 2 | ![]() |
VPAID 2 | ![]() |
VMAP 1.0.1 | ![]() |
Ad Manager 视频功能 | 支持 |
线性广告 | ![]() |
非线性广告(重叠式广告) | ![]() |
随播广告 | ![]() |
VAST 3 备用随播广告资源 | ![]() |
Active View 可见率 | ![]() |
VAST 重定向 | ![]() |
包含展示广告请求的随播广告回填 | ![]() |
Google 发布商代码 (GPT) 兼容性 | ![]() |
内容感知 | ![]() |
广告规则 | ![]() |
广告连播 | ![]() |
导视广告 | ![]() |
报告多事件跟踪 (MET) 数据 | ![]() |
可跳过(预订型 / 非 TrueView 广告) | ![]() |
AdSense 视频广告功能 7 | 支持 |
TrueView InStream | ![]() |
插播可选广告 | ![]() |
标准插播广告 | ![]() |
全槽 | ![]() |
随播广告 | ![]() |
随播回填 | ![]() |
叠加层 | ![]() |
Ad Manager Ad Exchange 功能 | 支持 |
TrueView InStream | ![]() |
插播可选广告 | ![]() |
标准插播广告 | ![]() |
全槽 | ![]() |
随播广告 | ![]() |
随播回填 | ![]() |
叠加层 | ![]() |
Active View 可见率 | ![]() |
为什么显示该广告? | ![]() |
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
- 随播广告投放选项
- 图标
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 和 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 保持静态。IMA SDK 支持 JavaScript 框架,前提是 SDK 在框架完成 DOM 元素移动后启动。具体而言,在构建 StreamManager
时作为 adUiElement
实参传递的 HTML5 元素在实例化后不应再移动。
Apple AirPlay 支持
IMA SDK 不支持 Apple AirPlay。停用 AirPlay 或在检测到 AirPlay 时停用广告请求。