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 会提供视频播放器元素,而不是代理。
以下是视频代理元素上可用的方法、监听器和属性:
方法
addEventListenercanPlayTypeloadplaypausesetattribute
addEventListener 的事件类型
abortcanplaycanplaythroughclickdurationchangeemptiedendederrorloadeddataloadedmetadataloadstartpauseplayplayingprogressratechangesuspendseekedseekingtimeupdatewaiting
属性
currentTimedurationendedpausedplaybackRatesrctype
常见问题解答
- iOS 或 Android SDK 是否支持 VPAID 2 JavaScript 广告素材?
- IMA HTML5 SDK 是唯一支持 VPAID 2 JavaScript 广告素材的 IMA SDK 平台。
- 这是否会在 IMA HTML5 SDK 中启用 VPAID 广告素材?
- 是的,IMA HTML5 SDK 支持 VPAID 2 JavaScript 广告素材。