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 安全性」和「影片播放器 Proxy 元素」。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);
影片播放器 Proxy 元素
為確保安全和行動功能正常運作,在 ENABLED
模式下,IMA HTML5 SDK 不會將實際的影片元素提供給廣告,而是提供代理元素,模擬一般影片元素的大部分功能。如果廣告素材只呼叫支援的 API 方法,廣告素材的顯示行為就不會改變。在 VpaidMode.INSECURE
模式下,SDK 會提供影片播放器元素,而非 Proxy。
以下是影片 Proxy 元素可用的方法、監聽器和屬性:
方法
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 HTML5 SDK 中啟用 VPAID 廣告素材?
- 是,IMA HTML5 SDK 支援 VPAID 2 JavaScript 廣告素材。