署名付き HMAC トークンを生成する

ポッド配信を使用して行われるセグメント リクエストまたはマニフェスト リクエストには、早期の広告ブレーク通知のフォールバックとして、 HMAC 署名付きトークンを含める必要があります。

このトークンは、広告ブレークごとに 1 回計算し、すべてのストリーム セッションで共有できます。

トークン パラメータを収集する

トークン本文にデータを入力するために、現在の広告ブレークから次の情報を収集します。

トークン パラメータ
ad_break_id pod_id パラメータが指定されていない場合は必須。 広告ブレークの文字列識別子。
custom_asset_key event パラメータが指定されていない場合は必須。 Google アド マネージャーのカスタム ライブ ストリーム アセットキー。
cust_params 省略可 広告ブレークのカスタム ターゲティング パラメータ。
event custom_asset_key パラメータが指定されていない場合は必須。 Google アド マネージャーによって生成されたライブ ストリーム アセットキー。
exp 必須 このトークンの有効期限のタイムスタンプ(秒単位)。
network_code custom_asset_key パラメータが指定されている場合は必須。 このネットワークのアド マネージャー 360 ネットワーク コード。
pod_id ad_break_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 署名は、16 進数形式のトークン文字列の SHA-256 ハッシュです。秘密鍵は、Google アド マネージャーのライブ ストリーム イベントに関連付けられた HMAC 認証鍵 です。

トークン文字列に署名する

生成したら、次の 形式で HMAC 署名をトークン文字列に追加します。

~hmac={HMAC signature}

トークン文字列を URL エンコードする

このトークンは URL パラメータとして渡されるため、安全のために URL エンコードする必要があります。

例 1

使用されていない省略可能なパラメータが空の 文字列として含まれている例を次に示します。

トークン文字列

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

秘密鍵

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

HMAC 署名

ea1081cc1ab83cacd1e64073fc19e64616b2571249232917dc9f539cafb4b94e

署名付きトークン

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

URL エンコードされた署名付きトークン:

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
秘密鍵
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
HMAC 署名
6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

署名付きトークン

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

URL エンコードされた署名付きトークン

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
秘密鍵
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
HMAC 署名
327b23b80d032b0fa4c41b64a5e44fa7733af5bdbf173b7d89135aef05ae6d29

署名付きトークン

ad_break_id=adbreak1~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~hmac=327b23b80d032b0fa4c41b64a5e44fa7733af5bdbf173b7d89135aef05ae6d29

URL エンコードされた署名付きトークン

ad_break_id%3Dadbreak1~custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~exp%3D1489680000~network_code%3D6062~pd%3D180000~hmac%3D327b23b80d032b0fa4c41b64a5e44fa7733af5bdbf173b7d89135aef05ae6d29

トークン生成ツール