伺服器引導廣告插入 (SGAI) 會提供廣告連播資訊清單,以便在用戶端裝置上進行拼接。如果您已在 Google Ad Manager 聯播網中啟用 Pod Serving DAI,就可以使用 SGAI。如果您尚未啟用廣告連播放送 DAI,請與客戶經理聯絡。
使用 SGAI 時,您可以使用廣告連播放送 API 端點,建立用於擷取廣告中繼資料和廣告連播資訊清單的串流。
如果您有資訊清單操控伺服器,可以根據偏好的規格,產生廣告連播資訊清單網址,並在內容串流中插入可攜帶廣告連播資訊清單資訊的廣告標記。
或者,您也可以使用串流資訊清單中的廣告標記以外的其他機制,排定廣告插播時間點。在這些情況下,應用程式可以監聽其他事件,例如使用者與串流、應用程式本身或推播通知的互動。在這些事件發生後,應用程式可以產生廣告連播資訊清單網址,並告知播放器開始載入廣告連播資訊清單。
必要條件
繼續操作之前,請確認您具備下列項目:
- 在 Google Ad Manager 聯播網中啟用的 DAI Pod 放送服務。
- 直播活動的類型為「Pod 放送資訊清單」。如要建立活動,請參閱「為動態廣告插播設定直播活動」。
遵循建議
建議您在產生廣告插播單元資訊清單網址之前,先呼叫 Early Ad Break Notification (EABN) API,指定每個廣告插播的預期時間長度、指定目標資訊和其他參數。
如要發布和測試串流,請呼叫 EABN API,特別是廣告聯播網有任何程式輔助廣告活動時。詳情請參閱「程式輔助直接交易功能與指南」。
提出串流註冊要求
當使用者在影片播放器應用程式中啟動內容串流時,您可以使用指定目標參數提出串流註冊要求,在 Ad Manager 中建立串流工作階段。如要進一步瞭解如何提出串流註冊要求,請參閱「Method:stream」。之後,您會收到要求的回應資料。
以下範例會提出串流註冊要求:
- 要求:
authority: dai.google.com
method: POST
path: /ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream
scheme: https
content-type: application/x-www-form-urlencoded
cust_params=customID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2
- 回應:
{
"manifest_format": "hls",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"polling_frequency": 10,
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}
- 指令列:
curl \
-H "Host: dai.google.com" \
-H "content-type: application/x-www-form-urlencoded" \
--data-binary "cust_params=channelID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2" \
--compressed "https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream"
- 輸出:
{
"manifest_format": "hls",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
"polling_frequency": 10,
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}
- 使用 Fetch API:
const response = await fetch("https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream", {
"headers": {
"content-type": "application/x-www-form-urlencoded",
},
"body": "cust_params=channelID%3D1543216789%26anotherKey%3Dvalue1%2Cvalue2",
"method": "POST",
});
const stream = await response.json();
console.log(stream);
- 控制台記錄檔:
{
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"polling_frequency": 10,
"pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
"manifest_format": "hls"
}
輪詢廣告插播中繼資料
提出串流註冊要求後,請輪詢廣告中繼資料。如要進行輪詢,您可以在註冊步驟中使用串流回應中的 polling_frequence
設定計時器,以便呼叫廣告metadata。針對每項民意調查,您可能會收到部分廣告清單,其中包含可用的中繼資料。
產生廣告連播資訊清單網址
為 Pod Serving API 的Pod 資源建構網址。接著,將網址傳遞至影片播放器,開始載入廣告連播。
以下範例說明廣告插播資訊清單網址的結構:
https://dai.google.com/linear/pods/v1/hls/network/51636543/custom_asset/pod_serving_hls_manifest_mp4/ad_break_id/ab101.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db:TUL&pd=120000
您可以根據從影片播放器或伺服器通知擷取的廣告插播資訊,計算廣告插播資訊清單網址參數。如需這些參數的相關規定,請參閱「方法:Pod 資訊清單」一節。
播放廣告連播資訊清單
在用戶端影片播放器應用程式中,使用主要影片播放器開始播放內容串流,並按照影片播放器的相關說明文件,觀察播放和廣告時間表 (如有)。
如果您產生廣告連播資訊清單網址,並將這些網址插入伺服器端的資訊清單,請觀察影片播放器即將播放的廣告插播事件,並確保在每次廣告插播播放期間訂閱 id3 事件。如果您從用戶端排定廣告插播事件,請在建立時訂閱 id3 事件。
回報曝光和廣告事件
當影片播放器播放廣告連播時,並遇到 ID3 時間中繼資料,請監聽影片播放器觸發的廣告事件,並加以處理,以傳送媒體驗證連線偵測 (ping)。