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 元素可用的方法、監聽器和屬性:
方法
addEventListenercanPlayTypeloadplaypausesetattribute
addEventListener 的事件類型
abortcanplaycanplaythroughclickdurationchangeemptiedendederrorloadeddataloadedmetadataloadstartpauseplayplayingprogressratechangesuspendseekedseekingtimeupdatewaiting
屬性
currentTimedurationendedpausedplaybackRatesrctype
常見問題
- iOS 或 Android SDK 是否支援 VPAID 2 JavaScript 廣告素材?
- 只有 IMA HTML5 SDK 平台支援 VPAID 2 JavaScript 廣告素材。
- 這是否會在 IMA HTML5 SDK 中啟用 VPAID 廣告素材?
- 是,IMA HTML5 SDK 支援 VPAID 2 JavaScript 廣告素材。