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

早期広告ブレーク通知を使用しない場合、セグメント リダイレクト Pod 配信を使用して行われた各セグメント リクエストには、認証用の HMAC 署名付きトークンを含める必要があります。

このトークンはミッドロール挿入点ごとに 1 回計算され、すべてのストリーム セッションで共有できます。

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

現在のミッドロール挿入点から次の情報を収集して、トークンの本文を入力します。

トークン パラメータ
custom_asset_key 必須 Google アド マネージャーのカスタムのライブ配信アセットキー。
cust_params 省略可 カスタム ターゲティング パラメータ。cust_params をご覧ください。
exp 必須 このトークンの有効期限タイムスタンプ(秒単位)。
network_code 必須 このネットワークのアド マネージャー 360 ネットワーク コード。
pod_id 必須 広告ブレークの識別子。1 から始まり、ミッドロール挿入点ごとに 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 署名は、16 進数形式のトークン文字列の SHA-256 ハッシュです。秘密鍵は、Google アド マネージャーのライブ配信イベントに関連付けられた HMAC 認証キーです。

署名トークン文字列

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

~hmac={HMAC signature}

URL エンコード トークン文字列

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

例 1

次の例では、使用されないオプションのパラメータを空の文字列として含めています。

トークン文字列

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

秘密鍵

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

HMAC 署名

86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

署名付きトークン

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

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

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
秘密鍵
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