產生已簽署的 HMAC 權杖

(SSAI),適用於使用 Google 動態廣告插播 (DAI) 廣告連播放送 API 的直播。

如果未使用提早廣告插播通知,透過區隔重新導向廣告連播服務提出的每個區隔要求,都必須包含用於驗證的 HMAC 簽署權杖。

每個廣告插播可計算一次這個權杖,並在所有串流工作階段中共用。

收集權杖參數

從目前的廣告插播收集下列資訊,填入權杖主體。

權杖參數
custom_asset_key 必要 Google Ad Manager 中的自訂直播素材資源金鑰。
cust_params 選填 自訂指定目標參數。詳情請參閱 cust_params
exp 必要 這個權杖的到期時間戳記 (以秒為單位)。
network_code 必要 這個聯播網的 Ad Manager 360 聯播網代碼。
pod_id 必要 廣告時段的 ID。應為從 1 開始的整數,每個插播廣告會增加一。

在目前事件中,所有觀看相同廣告插播的使用者,這個值都必須相同。

pd 必填,但啟用無時間長度廣告插播的活動除外。 廣告插播的時間長度 (以毫秒為單位)。如上所述,這個值稱為 ad_pod_duration
scte35 選填 Base64 編碼的 SCTE-35 信號。客戶有責任確保信號正確無誤。如果錯誤,系統會將訊息傳送至回應中的 X-Ad-Manager-Dai-Warning HTTP 標頭,且信號仍會傳播以建立廣告插斷。如要進一步瞭解 DAI 如何使用 SCTE-35 信號,請參閱支援的廣告標記

建立權杖字串

依字母順序列出每個參數,格式為 name=value,並以半形波浪號 (~) 字元分隔每個名稱/值組合。

如果選用參數沒有值,可以保留在原位,並將值設為空白字串,或完全移除。

權杖字串格式

custom_asset_key={custom_asset_key}~exp={expiration}~network_code={network_code}~pd={pod_duration}~pod_id={ad_pod_index}~scte35={scte35_message}

產生 HMAC 簽章

HMAC 簽章是十六進位格式的權杖字串 SHA-256 雜湊。密鑰是與 Google Ad Manager 中直播活動相關聯的 HMAC 驗證金鑰

簽署權杖字串

產生 HMAC 簽章後,請按照下列格式將簽章附加至權杖字串

~hmac={HMAC signature}

對權杖字串進行網址編碼

這個權杖會以網址參數的形式傳遞,因此必須經過網址編碼,確保安全無虞。

範例 1

以下範例包含未使用的選用參數,這些參數以空字串形式呈現。

權杖字串

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~cust_params=~exp=1489680000~network_code=6062~pd=180000~pod_id=5~scte35=

Secret 金鑰

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

HMAC 簽章

86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

已簽署的權杖

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~cust_params=~exp=1489680000~network_code=6062~pd=180000~pod_id=5~scte35=~hmac=86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

經過網址編碼的簽署權杖:

custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~cust_params%3D~exp%3D1489680000~network_code%3D6062~pd%3D180000~pod_id%3D5~scte35%3D~hmac%3D86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

範例 2

以下範例完全省略了未填入值的選用變數。

權杖字串

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g3~exp=1489680000~network_code=6062~pd=180000~pod_id=5
Secret 金鑰
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
HMAC 簽章
6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

已簽署的權杖

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5~hmac=6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

經過網址編碼的簽署權杖

custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~exp%3D1489680000~network_code%3D6062~pd%3D180000~pod_id%3D5~hmac%3D6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9