本指南說明如何將 IMA DAI SDK 整合至影片播放器應用程式。如要查看或按照完整的整合範例操作,請從 GitHub 下載簡易範例。
IMA DAI 總覽
如本指南所示,導入 IMA DAI SDK 包含兩個主要部分:
StreamRequest:VODStreamRequest或LiveStreamRequest,定義串流請求的物件。串流請求可以是隨選影片或直播。直播請求會指定素材資源金鑰,VOD 請求則會指定 CMS ID 和影片 ID。這兩種要求類型都可以選擇加入 API 金鑰 (用於存取指定串流),以及 Google Ad Manager 聯播網代碼 (用於讓 IMA SDK 按照 Google Ad Manager 設定處理廣告 ID)。StreamManager: 這個物件會處理動態廣告插播串流,以及與 DAI 後端的互動。串流管理工具也會處理追蹤連線偵測 (ping),並將串流和廣告事件轉送給發布商。
必要條件
- 三個空白檔案
- dai.html
- dai.css
- dai.js
- 電腦上已安裝 Python,或有可用於測試的網路伺服器
啟動開發伺服器
IMA DAI SDK 載入依附元件時,會使用與載入頁面相同的通訊協定,因此您需要使用網路伺服器來測試應用程式。如要快速啟動本機開發伺服器,可以使用 Python 的內建伺服器。
在含有
index.html檔案的目錄中,透過指令列執行以下指令:python -m http.server 8000使用網路瀏覽器前往
http://localhost:8000/您也可以使用任何其他網路伺服器,例如 Apache HTTP Server。
建立影片播放器
首先,請修改 dai.html,建立 HTML5 影片元素和用於點閱的 div。以下範例會匯入 IMA DAI SDK。詳情請參閱「匯入 IMA DAI SDK」。
此外,請加入必要標記,載入 dai.css 和 dai.js 檔案,並匯入 hls.js 影片播放器。接著,修改 dai.css 以指定網頁元素的大小和位置。最後,在 dai.js 中定義變數來保存串流請求資訊、定義要在載入網頁時執行的 initPlayer() 函式,並設定播放按鈕,以便在點選時請求串流。
如要在廣告插播暫停期間恢復播放,請為影片元素的 pause 和 start 事件設定事件監聽器,以便顯示及隱藏播放器控制項。
載入 IMA DAI SDK
接著,在 dai.html 中使用指令碼標記,在 dai.js 標記前加入 IMA 架構。
初始化 StreamManager
如要請求一組廣告,請建立 ima.dai.api.StreamManager,負責請求及管理 DAI 串流。建構函式會採用影片元素和廣告 UI 元素,處理廣告點擊。
提出串流請求
定義要求串流的函式。這個範例包含 VOD 和直播的函式,可建立 VODStreamRequest 類別和 LiveStreamRequest 類別的例項。取得 streamRequest 執行個體後,請使用串流要求執行個體呼叫 streamManager.requestStream() 方法。
這兩種串流要求方法都可使用選用的 API 金鑰。如果您使用的是受保護的串流,則必須建立 DAI 驗證金鑰。詳情請參閱「驗證 DAI 影片串流請求」。這個範例中的串流皆未使用 DAI 驗證金鑰保護,因此不會使用 apiKey。
剖析串流中繼資料
您也需要新增處理常式,監聽定時中繼資料事件,並將事件轉送至 StreamManager 類別,讓 IMA 在廣告插播期間發出廣告事件:
本指南使用 hls.js 播放器播放串流,但中繼資料的導入方式取決於您使用的播放器類型。
處理串流事件
為主要影片事件導入事件監聽器。這個範例會呼叫 onStreamEvent() 函式,處理 LOADED、ERROR、AD_BREAK_STARTED 和 AD_BREAK_ENDED 事件。這個函式會處理串流載入、串流錯誤,以及在廣告播放期間停用播放器控制項 (IMA SDK 的必要功能)。
串流載入後,影片播放器會使用 loadUrl() 函式載入並播放提供的網址。
大功告成!您現在可以使用 IMA DAI SDK 請求及顯示廣告。如要瞭解更多進階 SDK 功能,請參閱其他指南或 GitHub 上的範例。