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

Pod サービングを使用して行われたセグメントまたはマニフェスト リクエストには、早期の広告ブレーク通知のフォールバックとして、認証用の 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