產生已簽署的 HMAC 權杖

使用廣告連播服務發出的每個區隔或資訊清單請求,都必須包含經過 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