IMA SDK 可讓您輕鬆將多媒體廣告整合至您的網站和應用程式。IMA SDK 可以 向任何 與 VAST 相容的廣告伺服器,並管理您應用程式中的廣告播放方式。使用 IMA DAI SDK 時,應用程式可提供 廣告和內容影片的串流請求 (VOD 或直播內容)。接著,SDK 會傳回 讓您省去切換廣告和內容影片的麻煩 應用程式內的一切
選取所需的 DAI 解決方案
廣告連播放送 DAI
IMA SDK 可讓您輕鬆將多媒體廣告整合至您的網站和應用程式。IMA SDK 可以 向任何 與 VAST 相容的廣告伺服器,並管理您應用程式中的廣告播放方式。使用 IMA DAI SDK 時,應用程式可提供 廣告和內容影片的串流請求 (VOD 或直播內容)。接著,SDK 會傳回 讓您省去切換廣告和內容影片的麻煩 應用程式內的一切
本指南示範如何使用 IMA DAI 播放 DAI 廣告連播放送串流 具備簡易影片播放器的 SDK,可用來播放直播和隨選串流內容。 想查看或按照已完成的整合範例操作 廣告連播放送範例。
IMA DAI 廣告連播放送總覽
StreamRequest
:定義串流要求的目標物件 Google 的廣告伺服器。必須使用ImaSdkFactory.createPodStreamRequest()
敬上 或ImaSdkFactory.createPodVodStreamRequest()
啟用廣告連播放送這些方法需要聯播網代碼,且createPodStreamRequest
也需要自訂素材資源金鑰,以及 選用的 API 金鑰。兩者都含有其他選用參數。StreamManager
:這個物件會處理 影片和 IMA DAI SDK 相關,例如觸發追蹤連線偵測 (ping) 和 將串流事件轉送至發布商。
必要條件
Android 應用程式已設定為使用 IMA DAI SDK 播放影片串流, DAI 廣告。如果您還沒有這類應用程式,建議您使用 Android 動態廣告插播 BasicExample做為 起點BasicExample 具備本指南中參照的程式碼集。
您的應用程式必須使用
VideoStreamPlayerCallback.onUserTextReceived()
敬上 才能讓 IMA DAI 運作請參閱完整服務 DAI 程式碼片段範例。
設定廣告連播放送變數
進行廣告連播放送所需的所有變更,都在 SampleAdsWrapper.java 中進行。 更新常數變數
以下是要新增的廣告連播串流請求常數:
STREAM_URL
:僅適用於直播 - 由 來管理資訊清單操作員或第三方合作夥伴。它應該 您必須先插入 IMA DAI SDK 提供的串流 ID,才能 提出要求。在這個例子中,串流網址會包含預留位置"[[STREAMID]]"
,在提出之前,會替換為串流 ID 請求。NETWORK_CODE
:Ad Manager 360 帳戶的聯播網代碼。CUSTOM_ASSET_KEY
:僅適用於直播 - 而是用於 在 Ad Manager 360 中識別廣告連播放送事件建立 Deployment 的 資訊清單操縱器或第三方 Pod 放送合作夥伴API_KEY
:僅適用於直播 - 選用的 API 金鑰,可視需要設為 必須從 IMA DAI SDK 擷取串流 ID。
Android DAI BasicExample 是用來播放各種不同的串流 但在廣告連播放送時,設定為只播放單一串流。 將範例的變數區段改為以下內容:
/** This class adds ad-serving support to Sample HlsVideoPlayer */
public class SampleAdsWrapper
implements AdEvent.AdEventListener, AdErrorEvent.AdErrorListener, AdsLoader.AdsLoadedListener {
// Podserving Stream Constants.
private static final String STREAM_URL =
"https://encodersim.sandbox.google.com/masterPlaylist/9c654d63-5373-4673-8c8d-6d92b66b9d46/" +
"master.m3u8?gen-seg-redirect=true&network=51636543&event=google-sample" +
"&pids=devrel4628000,devrel896000,devrel3528000,devrel1428000,devrel2628000,devrel1928000" +
"&seg-host=dai.google.com&stream_id=[[STREAMID]]";
private static final String NETWORK_CODE = "51636543";
private static final String CUSTOM_ASSET_KEY = "google-sample";
private static final String API_KEY = "";
private static final String PLAYER_TYPE = "DAISamplePlayer";
/** Log interface, so we can output the log commands to the UI or similar. */
public interface Logger {
...
建立直播或隨選廣告連播串流要求以啟用廣告連播放送
直播活動廣告連播放送
移除現在用來切換方法的 buildStreamRequest()
建立各種串流類型接著變更requestAndPlayAds()
即可撥打電話
建立即時廣告連播放送廣告的ImaSdkFactory.createPodStreamRequest()
請求。最後,使用 AdsLoader.requestStream()
要求串流。
public void requestAndPlayAds() {
StreamRequest request =
sdkFactory.createPodStreamRequest(NETWORK_CODE, CUSTOM_ASSET_KEY, API_KEY);
request.setFormat(StreamFormat.HLS);
adsLoader.addAdErrorListener(this);
adsLoader.addAdsLoadedListener(this);
adsLoader.requestStream(request);
}
VOD 串流廣告連播放送
移除現在用來切換方法的 buildStreamRequest()
建立各種串流類型接著變更requestAndPlayAds()
即可撥打電話
建立 VOD 廣告連播放送廣告的 ImaSdkFactory.createPodVodStreamRequest()
請求。最後,使用 AdsLoader.requestStream()
要求串流。
public void requestAndPlayAds() {
StreamRequest request =
sdkFactory.createPodVodStreamRequest(NETWORK_CODE);
request.setFormat(StreamFormat.HLS);
adsLoader.addAdErrorListener(this);
adsLoader.addAdsLoadedListener(this);
adsLoader.requestStream(request);
}
編輯並設定串流網址
直播活動廣告連播放送
呼叫 StreamManager.getStreamId()
即可取得串流 ID。您需要
插入到 STEAM_URL
中,取代 "[[STREAMID]]"
。這項異動生效後,
時,可以使用 videoPlayer.setStreamUrl()
設定新的串流網址。
@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
streamManager = event.getStreamManager();
streamManager.addAdErrorListener(this);
streamManager.addAdEventListener(this);
// To enable streams
String streamID = streamManager.getStreamId();
String streamUrl = STREAM_URL.replace("[[STREAMID]]", streamID);
streamManager.init();
videoPlayer.setStreamUrl(streamUrl);
videoPlayer.play();
}
VOD 串流廣告連播放送
呼叫 StreamManager.getStreamId()
即可取得串流 ID。接著,您可以要求
從影片技術合作夥伴 (VTP) 取得的串流網址。然後呼叫
StreamManager.loadThirdPartyStream()
,以便 IMA 載入串流網址和任何
TVP 傳回的字幕。
@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
streamManager = event.getStreamManager();
streamManager.addAdErrorListener(this);
streamManager.addAdEventListener(this);
// To enable streams
String streamID = streamManager.getStreamId();
// 'vtpInterface' is a place holder for your own video technology partner
// (VTP) API calls.
String streamUrl = vtpInterface.requestStreamURL(streamID);
streamManager.init();
// Pass any subtitles returned by your VTP in this step as well.
streamManager.loadThirdPartyStream(streamUrl, subtitles);
}
啟用廣告連播放送功能時,IMA 不會呼叫
VideoStreamPlayer.loadUrl()
,方便您移除對
videoPlayer.setStreamUrl()
和videoPlayer.play()
。
大功告成!您目前透過 IMA DAI SDK 上執行。若想查看使用 Android SDK 的其他範例 請查看 GitHub 上的範例。