Generowanie podpisanego tokena HMAC

Każde żądanie segmentu lub pliku manifestu wysłane przy użyciu wyświetlania bloków reklamowych musi zawierać token podpisany za pomocą HMAC na potrzeby uwierzytelniania jako rezerwę dla wczesnych powiadomień o przerwie na reklamę.

Ten token można obliczyć raz na przerwę na reklamy i udostępnić we wszystkich sesjach strumieniowania.

Zbieranie parametrów tokena

Zbierz z bieżącej przerwy na reklamy te informacje, aby wypełnić treść tokena.

Parametry tokena
ad_break_id Wymagany, jeśli nie podano parametru pod_id. Identyfikator przerwy na reklamę w postaci ciągu znaków.
custom_asset_key Wymagany, jeśli nie podano parametru event. Niestandardowy klucz pliku transmisji na żywo z Google Ad Managera.
cust_params Opcjonalny Parametry kierowania niestandardowego w przypadku przerwy na reklamę.
event Wymagany, jeśli nie podano parametru custom_asset_key. Klucz zasobu transmisji na żywo wygenerowany przez Google Ad Managera.
exp Wymagane Sygnatura czasowa wygaśnięcia tego tokena w sekundach.
network_code Wymagany, jeśli podano parametr custom_asset_key. Kod sieci Ad Managera 360 dla tej sieci.
pod_id Wymagany, jeśli nie podano parametru ad_break_id. Identyfikator numeryczny przerwy na reklamę.
pd Wymagany, z wyjątkiem zdarzeń z włączonymi przerwami na reklamę bez określonego czasu trwania. Czas trwania przerwy na reklamę w milisekundach.
scte35 Opcjonalny Sygnał SCTE-35 zakodowany w formacie Base64 dla przerwy na reklamę.

Tworzenie ciągu tokena

Wymień wszystkie parametry w kolejności alfabetycznej w formacie name=value, a poszczególne pary nazwa-wartość oddziel znakiem tyldy (~).

Opcjonalne parametry bez wartości można pozostawić na miejscu z pustym ciągiem znaków jako wartością lub całkowicie usunąć.

format ciągu tokena,

custom_asset_key={custom_asset_key}~exp={expiration}~network_code={network_code}~pd={pod_duration}~pod_id={ad_pod_index}~scte35={scte35_message}

Generowanie podpisu HMAC

Podpis HMAC to skrót SHA-256 ciągu znaków tokena w formacie szesnastkowym. Klucz tajny to klucz uwierzytelniania HMAC powiązany z wydarzeniem transmisji na żywo w usłudze Google Ad Manager.

Ciąg tokena podpisu

Po wygenerowaniu dołącz sygnaturę HMAC do ciągu tokena w tym formacie:

~hmac={HMAC signature}

Zakoduj ciąg tekstowy tokena w formacie URL.

Ten token jest przekazywany jako parametr adresu URL, więc dla bezpieczeństwa musi być zakodowany.

Przykład 1

Oto przykład, w którym nieużywane parametry opcjonalne są uwzględniane jako puste ciągi znaków.

Ciąg tokena

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

Klucz obiektu tajnego

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

Podpis HMAC

ea1081cc1ab83cacd1e64073fc19e64616b2571249232917dc9f539cafb4b94e

Podpisany token

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

Zakodowany w formacie adresu URL podpisany token:

cust_params%3D~custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~exp%3D1489680000~network_code%3D6062~pd%3D180000~pod_id%3D5~scte35%3D~hmac%3Dea1081cc1ab83cacd1e64073fc19e64616b2571249232917dc9f539cafb4b94e

Przykład 2

Oto przykład, w którym nieużywane zmienne opcjonalne zostały całkowicie pominięte.

Ciąg tokena

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5
Klucz obiektu tajnego
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
Podpis HMAC
6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Podpisany token

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

Zakodowany w formacie adresu URL podpisany token

custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~exp%3D1489680000~network_code%3D6062~pd%3D180000~pod_id%3D5~hmac%3D6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Przykład 3

Oto przykład użycia właściwości ad_break_id.

Ciąg tokena

ad_break_id=adbreak1~custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000
Klucz obiektu tajnego
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
Podpis HMAC
327b23b80d032b0fa4c41b64a5e44fa7733af5bdbf173b7d89135aef05ae6d29

Podpisany token

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

Zakodowany w formacie adresu URL podpisany token

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