IMA HTML5 SDK 支持 VPAID 2 JavaScript 广告素材。启用支持很简单,但您需要注意 VPAID 2 规范与 IMA SDK 支持 VPAID 2 的方式之间有两个区别。这些差异不会影响播放器或 SDK 实现代码,但对于 VPAID 2 JavaScript 广告素材制作者而言非常重要,因为在 IMA HTML5 SDK 呈现时,广告素材可能会出现错误或无法按预期呈现。
前提条件
- 集成了 IMA HTML5 SDK 的 HTML5 视频播放器。如果您还没有账号,请查看我们的入门指南。
- 指向 VPAID 2 JavaScript 广告素材的 VAST 广告代码网址。
实用入门指南
- 如果您不熟悉 VPAID 2,请参阅 IAB 的 VPAID 页面了解详情。
启用 VPAID 2 支持
要启用 VPAID 2 JavaScript 支持,请在初始化 AdDisplayContainer 之前调用以下方法:
google.ima.settings.setVpaidMode(google.ima.ImaSdkSettings.VpaidMode.ENABLED); ... var adDisplayContainer = new google.ima.AdDisplayContainer(adContainerElement); var adsLoader = new google.ima.AdsLoader(adDisplayContainer); ...
可用的 VPAID 模式如下所示:
ENABLED
- 允许使用默认设置的 VPAID 广告。INSECURE
- 允许在非安全模式下投放 VPAID 广告。有关详情,请参见 iframe 安全性和视频播放器代理元素。DISABLED
- VPAID 广告无法播放。如果请求的广告返回 VPAID 广告素材,系统会抛出错误。
支持 VPAID 2 的注意事项
iframe 安全
默认情况下,IMA SDK 会使用安全的 iframe,而非易用的 iframe(同一网域)或页内脚本来呈现 VPAID 2 JavaScript 广告素材。这意味着,如果广告素材预期访问父级页面的 DOM,就可能会导致错误。要改为在易用的 iframe 中呈现广告,您可以使用 ImaSdkSettings.setVpaidMode(...)
,如下所示:
adsLoader.getSettings().setVpaidMode(google.ima.ImaSdkSettings.VpaidMode.INSECURE);
视频播放器代理元素
为了确保安全性并保障移动功能正常发挥作用,在 ENABLED
模式下,IMA HTML5 SDK 不会向广告提供实际的视频元素,而是提供与一般视频元素的大部分功能相似的代理元素。对于仅调用支持的 API 方法的广告素材,广告素材呈现过程中不应有任何行为变化。在 VpaidMode.INSECURE
模式下,SDK 会提供视频播放器元素,而不是代理。
以下是视频代理元素上可用的方法、监听器和属性:
方法
addEventListener
canPlayType
load
play
pause
setattribute
addEventListener 的事件类型
abort
canplay
canplaythrough
click
durationchange
emptied
ended
error
loadeddata
loadedmetadata
loadstart
pause
play
playing
progress
ratechange
suspend
seeked
seeking
timeupdate
waiting
属性
currentTime
duration
ended
paused
playbackRate
src
type
FAQ
- iOS SDK 或 Android SDK 是否支持 VPAID 2 JavaScript 广告素材?
- IMA HTML5 SDK 是目前唯一支持 VPAID 2 JavaScript 广告素材的 IMA SDK 平台。
- 该操作是否会在 IMA HTML5 SDK 中启用 VPAID 广告素材?
- 可以,IMA HTML5 SDK 支持 VPAID 2 JavaScript 广告素材。