使用 IMA SDK,即可輕鬆將多媒體廣告整合至網站和應用程式。IMA SDK 可向任何 符合 VAST 規定的廣告伺服器請求廣告,並在應用程式中管理廣告播放。應用程式可透過 IMA DAI SDK,對廣告和內容影片 (隨選影片或直播內容) 提出串流請求。SDK 接著會傳回合併的影片串流,因此您不必在應用程式中管理廣告和內容影片之間的切換。
選取您感興趣的 DAI 解決方案
全方位服務 DAI
本指南說明如何將 IMA DAI SDK 整合至影片播放器應用程式。如要查看或跟著操作已完成的範例整合,請從 GitHub 下載簡單範例。
IMA DAI 總覽
如本指南所示,導入 IMA DAI SDK 包含兩個主要元件:
StreamRequest
:VODStreamRequest
或LiveStreamRequest
:定義串流要求的物件。串流要求可以是隨選影片或直播串流。直播串流請求會指定素材資源金鑰,而 VOD 請求則會指定 CMS ID 和影片 ID。這兩種要求類型都可以選擇性地加入存取指定串流所需的 API 金鑰,以及 Google Ad Manager 聯播網代碼,供 IMA SDK 處理廣告 ID,如 Google Ad Manager 設定中所指定。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 驗證金鑰保護,因此不會使用 apiKey
。
剖析串流中繼資料
您也需要新增處理常式,監聽時間碼中繼資料事件,並將事件轉送至 StreamManager
類別,讓 IMA 在廣告插播期間發出廣告事件:
本指南使用 hls.js
播放器播放串流,但中繼資料實作方式取決於您使用的播放器類型。
處理串流事件
針對主要影片事件實作事件監聽器。本範例會呼叫 onStreamEvent()
函式,處理 LOADED
、ERROR
、AD_BREAK_STARTED
和 AD_BREAK_ENDED
事件。這個函式會處理串流載入、串流錯誤,以及在廣告播放期間停用播放器控制項 (IMA SDK 的必要功能)。
載入串流後,影片播放器會使用 loadUrl()
函式載入並播放提供的網址。
大功告成!您現在可以使用 IMA DAI SDK 請求及顯示廣告。如要瞭解更多進階 SDK 功能,請參閱其他指南或 GitHub 上的範例。