在 ads_manager.js
中,為 IMA SDK StreamManager 定義包裝函式類別,該類別會發出串流請求、取得廣告插播資訊清單、監聽 IMA 串流事件,並將 emsg 事件傳遞至 IMA SDK。
在 ads_manager.js
中,IMA HbbTV 範例應用程式會設定下列方法:
requestStream()
onStreamEvent()
onEmsgEvent()
loadAdPodManifest()
初始化廣告管理工具
初始化廣告管理工具類別,並為 IMA 串流事件設定監聽器。在此呼叫中,使用 VideoPlayer.setEmsgEventHandler()
方法設定 emsg 事件處理常式。
要求廣告連播串流
建立 AdManager.requestStream()
方法,使用 Google Ad Manager 聯播網程式碼和串流的自訂資產金鑰建立 PodStreamRequest
物件。使用 IMA 範例 DASH 廣告連播放送串流測試 HbbTV 應用程式,並使用下列串流參數:
- 聯播網代碼:
'21775744923'
- 自訂資產鍵:
'hbbtv-dash'
監聽廣告串流事件
建立 AdManager.onStreamEvent()
方法,處理應用程式對 IMA 串流事件、STREAM_INITIALIZED
、AD_BREAK_STARTED
和 AD_BREAK_ENDED
的回應。
處理廣告串流中繼資料
如要將 emsg 事件資訊傳遞至 IMA,請使用 StreamManager.processMetadata()
方法建立 AdManager.onEmsgEvent()
方法。影片播放器類別會使用 VideoPlayer.setEmsgEventHandler()
方法呼叫這個方法。
載入廣告連播資訊清單
建立 AdManager.loadAdPodManifest()
方法,使用影片播放器預先載入廣告連播資訊清單。使用「方法:DASH Pod 資訊清單」中的結構,建構資訊清單網址。
HbbTV 範例應用程式會使用隨機產生的專屬 podId
。在正式版應用程式中,podId
是從 1 開始的整數,每個廣告插播會遞增 1。確認廣告插播的所有觀眾,podId
的值都相同。如要取得 podId
,建議使用提早廣告插播通知 (EABN) API。在正式環境中,請在 HbbTV 串流事件 AD_BREAK_ANNOUNCE
中加入 podId
和 podDuration
。
接著,為與 HbbTV 廣播互動的 HbbTV 應用程式建立主要應用程式類別。