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
常见问题解答
- 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 广告素材。