使用 Early Ad Break Notification API
- 要建立廣告插播的對應直播活動 ID。這個 ID 可以是下列任一項:
- 直播的「資產金鑰」。
- 直播的「自訂素材資源金鑰」,可讓你指定專屬的 ID 字串,用於管理自己的金鑰空間。
- 直播的「內容來源 ID」和「內容 ID」。
注意:您必須啟用這類別的 ID 才能使用。如需更多資訊,請與客戶經理聯絡。
- 下一個廣告插播的預估時間長度。時間長度應盡量接近實際廣告插播的長度。
除了這些必要欄位外,您還可以傳送自訂指定參數、要套用的廣告插播範本名稱,或 SCTE35 Cue Out 資料 (如有)。
必要條件
如要使用 EABN API,您必須建立服務帳戶,並將帳戶新增至 Google Ad Manager 聯播網。
建立服務帳戶
如要建立服務帳戶來呼叫 EABN API,請完成下列步驟:- 如果您有 Google Cloud 帳戶,請使用 IAM 模組建立服務帳戶。詳情請參閱「建立及管理服務帳戶」。- 如果您沒有 Google Cloud 帳戶,請完成下列步驟,透過 Google API 控制台建立帳戶:
- 建立新專案或選取現有專案。
- 在「憑證」頁面中,按一下「管理服務帳戶」。
- 在「Service accounts」(服務帳戶) 頁面中,按一下「CREATE SERVICE ACCOUNT」(建立服務帳戶)。
- 在「Create Service account」(建立服務帳戶) 頁面中輸入帳戶詳細資料。然後按一下「建立」。
建立服務帳戶後,請複製帳戶的 JSON 金鑰,用於驗證。
將服務帳戶加入 Google Ad Manager 聯播網
如要將服務帳戶新增至聯播網,請按照「新增服務帳戶使用者以獲得 API 存取權」中的步驟操作。
啟用 API
建立服務帳戶後,請向客戶經理提供下列資訊,為您的帳戶啟用 API:
- 你的 Google Cloud 帳戶電子郵件地址
- 您的服務帳戶
- Google Ad Manager 聯播網的聯播網代碼。
客戶經理啟用 API 後,請完成下列步驟啟用 API:
- 在 Google API 程式庫中搜尋「Google Ad Manager Video API」。
- 按一下「啟用」。
注意:如果搜尋結果中沒有顯示 API,請與客戶經理聯絡,確認您的帳戶已啟用 DAI API。
使用 API
您可以使用 JSON/REST 要求呼叫 EABN API。
授權
如要對 EABN API 發出經過授權的呼叫,您必須使用服務帳戶的 JSON 金鑰和範圍 https://www.googleapis.com/auth/video-ads
產生 OAuth2 服務帳戶憑證。詳情請參閱「針對伺服器對伺服器應用程式使用 OAuth 2.0」。
您必須在每次呼叫 EABN API 時,將產生的授權權杖做為 Auth 標頭。
傳送即將到來的廣告插播通知
如要傳送提前廣告插播通知,請根據您偏好的直播方式,將 POST 要求傳送至其中一個有效的 EABN 網址。以下各節將說明這些網址的差異,並提供要求和回應範例。
網址
即將到來的廣告插播通知有三個有效網址。您可以使用這三種型別建立廣告插播 (POST
),或取得已指派的廣告插播清單 (GET
)。
如要使用直播的資產金鑰,請使用:
POST admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks
如要使用直播活動的自訂素材資源金鑰,請使用:
POST admanagervideo.googleapis.com/v1/networks/{network_code}/customAssets/{custom_asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/customAssets/{custom_asset_key}/adBreaks
如要使用內容來源 ID 和 Content ID 方法,請使用:
POST admanagervideo.googleapis.com/v1/networks/{network_code}/sources/{content_source_id}/content/{content_id}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/sources/{content_source_id}/content/{content_id}/adBreaks
所有參數:
network_code
代表 Google Ad Manager 聯播網的聯播網代碼。asset_key
代表直播詳細資料頁面中顯示的資產金鑰。custom_asset_key
代表直播影片的自訂素材資源金鑰。content_source_id
代表 Google Ad Manager 中內容來源的 ID。content_id
代表 Google Ad Manager 中內容的 ID。
注意:指定的 content_source_id
/content_id
組合必須與 Google Ad Manager 中的直播活動建立關聯。
要求主體 - 僅用於建立廣告插播 (POST)
物件 | ||
---|---|---|
| 必填 | 這個廣告插播的時間長度,使用 Google 標準時間長度格式 (xx.xxxs,其中 xx.xxx 是秒數) |
| 選用 | 針對這個廣告插播的廣告請求加入的鍵/值組合 (適用於 AM360 中的自訂條件指定目標,以 分隔)。
並由
.
|
| 選用 | 廣告連播範本名稱 |
| 選用 | 來自 scte35 結束提示點的 Base-64 編碼資料。可包含
或
指令。
|
要求範例
建立廣告插播
POST admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks
Content-Type: application/json
Authorization: Bearer …
{
"expectedDuration": "30s",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"customParams": "param1=value1¶m2=value2",
"podTemplateName": "podtemplate"
}
回應主體
回應主體包含 adBreak
物件中傳送的所有參數,以及額外的 name
欄位,其中包含已建立廣告插播的 Google 全域標準 ID。這個欄位的格式如下:
networks/{network_code}/assets/{asset_key}/adBreaks/{ad_break_id}
回應範例
HTTP/1.1 200 OK
{
"name": "networks/.../assets/.../adBreaks/1",
"expectedDuration": "30s",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"customParams": "param1=value1¶m2=value2",
"podTemplateName": "podtemplate"
}
列出已指派的廣告插播時間點
GET admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks
Content-Type: application/json
Authorization: Bearer …
回應主體
回應主體包含廣告插播,其中每個指派給串流的廣告插播都有額外的 breakState
欄位。breakState
欄位支援下列值:
// Ad break decisioning has started.
BREAK_STATE_DECISIONED
// Break has started to be delivered to end users.
BREAK_STATE_COMPLETE
回應範例
HTTP/1.1 200 OK
{
"name": "networks/.../assets/.../adBreaks/1",
"expectedDuration": "30s",
"breakState": "BREAK_STATE_COMPLETE"
}