IMA SDK 可讓您輕鬆將多媒體廣告整合至網站和應用程式。IMA SDK 可向任何 符合 VAST 規範的廣告伺服器請求廣告,並管理應用程式中的廣告播放。應用程式可透過 IMA DAI SDK,針對廣告和內容影片 (隨選影片或直播內容) 提出串流請求。接著,SDK 會傳回合併的影片串流,因此您不必在應用程式中管理廣告和內容影片之間的切換。
本指南說明如何使用 IMA DAI SDK 搭配影片播放器,播放 DAI 廣告連播放送串流,用於直播和 VOD 串流。如要查看或按照完整的整合範例操作,請下載廣告連播放送範例。
IMA DAI 廣告連播放送總覽
StreamRequest:這個物件定義向 Google 廣告伺服器提出的串流請求。必須使用ImaSdkFactory.createPodStreamRequest()或ImaSdkFactory.createPodVodStreamRequest()建立,才能啟用廣告連播放送。這些方法需要聯播網代碼,createPodStreamRequest則需要自訂素材資源金鑰和選用的 API 金鑰。兩者都包含其他選用參數。StreamManager:這個物件會處理影片串流和 IMA DAI SDK 之間的通訊,例如觸發追蹤連線偵測 (ping),以及將串流事件轉送給發布商。
必要條件
Android 應用程式已設定 IMA DAI SDK,可播放含有 DAI 廣告的影片串流。如果您還沒有這類應用程式,建議您使用 Android DAI BasicExample 做為起點。BasicExample 包含本指南參照的程式碼集。
應用程式必須使用
VideoStreamPlayerCallback.onUserTextReceived()傳送 ID3 事件,IMA DAI 才能運作。請參閱全方位服務 DAI 程式碼片段範例。
設定廣告連播放送變數
廣告連播放送所需的所有變更,都會在 SampleAdsWrapper.java 中完成。第一步是更新常數變數。
以下是要新增的廣告連播串流請求常數:
STREAM_URL:僅用於直播 - 資訊清單操控器或第三方合作夥伴使用廣告連播放送功能提供的影片串流網址。您必須先插入 IMA DAI SDK 提供的串流 ID,才能提出請求。在這種情況下,串流網址會包含預留位置"[[STREAMID]]",系統會在提出要求前,將預留位置替換為串流 ID。NETWORK_CODE:Ad Manager 360 帳戶的聯播網代碼。CUSTOM_ASSET_KEY:僅用於直播 - 自訂素材資源金鑰,用於在 Ad Manager 360 中識別廣告連播放送事件。這項資訊可由資訊清單操控器或第三方廣告連播放送合作夥伴建立。API_KEY:僅用於直播 - 選用 API 金鑰,可能需要用來從 IMA DAI SDK 擷取串流 ID。
Android DAI BasicExample 旨在播放各種不同的串流類型,但如果是廣告連播放送,則設定為只播放單一串流。將範例的變數部分變更為:
建立直播或隨選影片廣告連播串流請求,啟用廣告連播放送功能
直播廣告連播放送
移除 buildStreamRequest() 方法,該方法曾用於切換建構各種串流類型。接著,修改 requestAndPlayAds() 來呼叫 ImaSdkFactory.createPodStreamRequest(),建立 Live Pod Serving 廣告請求。
隨選影片串流廣告連播放送
移除 buildStreamRequest() 方法,該方法曾用於切換建構各種串流類型。接著,修改 requestAndPlayAds() 以呼叫 ImaSdkFactory.createPodVodStreamRequest(),建立 VOD Pod Serving 廣告請求。
建立串流請求例項後,請使用 AdsLoader.requestStream() 請求串流:
編輯及設定串流網址
直播廣告連播放送
呼叫 StreamManager.getStreamId() 方法,取得串流 ID。請將這段程式碼插入 STEAM_URL,取代 "[[STREAMID]]"。完成這項變更後,請使用 videoPlayer.setStreamUrl() 方法設定新的串流網址,並呼叫 videoPlayer.play() 方法開始播放串流。
隨選影片串流廣告連播放送
- 呼叫
StreamManager.getStreamId()方法,取得串流 ID。 - 向影片技術合作夥伴 (VTP) 索取串流網址。
- 從 VTP 取得網址後,請使用該網址呼叫
StreamManager.loadThirdPartyStream()方法,載入串流和 VTP 傳回的字幕。
如果是隨選影片廣告連播放送請求,IMA 會在串流載入時呼叫 VideoStreamPlayer.loadUrl() 回呼。如要開始播放串流,請將 videoPlayer.setStreamUrl() 和 videoPlayer.play() 呼叫新增至 VideoStreamPlayer.loadUrl() 回呼:
清理 IMA DAI 素材資源
使用 IMA DAI SDK 成功請求並顯示廣告連播放送串流中的廣告後,建議您在廣告連播放送工作階段結束後,清除所有資源。呼叫 StreamManager.destroy() 即可停止串流播放、停止所有廣告追蹤,並釋出所有已載入的串流素材資源。
如要查看其他 Android SDK 使用範例,請參閱 GitHub 上的範例。