IMA HTML5 SDK 支持 VPAID 2 JavaScript 广告素材。启用支持时,您需要注意 VPAID 2 规范与 IMA SDK 支持 VPAID 2 的方式之间存在两项主要区别。这些差异不会影响播放器或 SDK 实现代码,但对于 VPAID 2 JavaScript 广告素材作者来说非常重要,因为当 IMA HTML5 SDK 呈现广告素材时,广告素材可能会抛出错误或无法按预期运行。
前提条件
如需学习本指南,请先创建一个具有以下特征的应用:
- 集成了 IMA HTML5 SDK 的 HTML5 视频播放器。如果您没有,请参阅设置 IMA SDK。
- 指向 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 模式,请参阅 ImaSdkSettings.VpaidMode 的 API 文档。
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 或 Android SDK 是否支持 VPAID 2 JavaScript 广告素材?
- IMA HTML5 SDK 是唯一支持 VPAID 2 JavaScript 广告素材的 IMA SDK 平台。
- 这是否会在 IMA HTML5 SDK 中启用 VPAID 广告素材?
- 可以,IMA HTML5 SDK 支持 VPAID 2 JavaScript 广告素材。