使用廣告連播服務發出的每個區隔或資訊清單請求,都必須包含經過 HMAC 簽署的權杖,以進行驗證,做為提早廣告插播通知的備援機制。
每個廣告插播可計算一次這個權杖,並在所有串流工作階段中共用。
收集權杖參數
從目前的廣告插播收集下列資訊,以填入權杖主體。
| 權杖參數 | ||
|---|---|---|
ad_break_id
|
如未提供 pod_id 參數,則為必要。
|
廣告時段的字串 ID。 |
custom_asset_key
|
如未提供 event 參數,則為必要。
|
Google Ad Manager 中的自訂直播素材資源金鑰。 |
cust_params
|
選填 | 廣告插播的自訂指定目標參數。 |
event
|
如未提供 custom_asset_key 參數,則為必要。
|
由 Google Ad Manager 產生的直播資產金鑰。 |
exp
|
必要 | 這個權杖的到期時間戳記 (以秒為單位)。 |
network_code
|
如果提供 custom_asset_key 參數,則為必要參數。
|
這個聯播網的 Ad Manager 360 聯播網代碼。 |
pod_id
|
如未提供 ad_break_id 參數,則為必要。
|
廣告時段的數字 ID。 |
pd
|
必填,但啟用無時間長度廣告插播的事件除外。 | 廣告插播的時間長度 (以毫秒為單位)。 |
scte35
|
選填 | 廣告插播的 Base64 編碼 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
以下範例包含未使用的選用參數,這些參數以空字串形式呈現。
權杖字串
cust_params=~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5~scte35=
Secret 金鑰
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
HMAC 簽章
ea1081cc1ab83cacd1e64073fc19e64616b2571249232917dc9f539cafb4b94e
已簽署的權杖
cust_params=~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5~scte35=~hmac=ea1081cc1ab83cacd1e64073fc19e64616b2571249232917dc9f539cafb4b94e
經過網址編碼的簽署權杖:
cust_params%3D~custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~exp%3D1489680000~network_code%3D6062~pd%3D180000~pod_id%3D5~scte35%3D~hmac%3Dea1081cc1ab83cacd1e64073fc19e64616b2571249232917dc9f539cafb4b94e
範例 2
以下範例完全省略了未填入值的選用變數。
權杖字串
custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~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
範例 3
以下是使用 ad_break_id 的範例。
權杖字串
ad_break_id=adbreak1~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000
Secret 金鑰
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
HMAC 簽章
327b23b80d032b0fa4c41b64a5e44fa7733af5bdbf173b7d89135aef05ae6d29
已簽署的權杖
ad_break_id=adbreak1~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~hmac=327b23b80d032b0fa4c41b64a5e44fa7733af5bdbf173b7d89135aef05ae6d29
經過網址編碼的簽署權杖
ad_break_id%3Dadbreak1~custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~exp%3D1489680000~network_code%3D6062~pd%3D180000~hmac%3D327b23b80d032b0fa4c41b64a5e44fa7733af5bdbf173b7d89135aef05ae6d29