在 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 廣播互動。