Generowanie podpisanego tokena HMAC

Jeśli nie używasz wczesnych powiadomień o przerwie na reklamę, każde żądanie segmentu wysłane za pomocą wyświetlania bloku przekierowania segmentu musi zawierać token uwierzytelniania podpisany przez HMAC.

Token ten może być obliczany raz na każdą przerwę na reklamę i udostępniany we wszystkich sesjach strumienia.

Zbieranie parametrów tokenów

Zbierz poniższe informacje z bieżącej przerwy na reklamę, aby wypełnić treść tokena.

Parametry tokena
custom_asset_key Wymagane Klucz pliku niestandardowej transmisji na żywo z Google Ad Manager.
cust_params Opcjonalnie Parametry kierowania niestandardowego. Zobacz cust_params.
exp Wymagane Sygnatura czasowa ważności tego tokena w sekundach.
network_code Wymagane Kod tej sieci w usłudze Ad Manager 360.
pod_id Wymagane Identyfikator przerwy na reklamę. Powinna to być liczba całkowita zaczynająca się od 1 i rosnąca o 1 przy każdej przerwie na reklamę.

Ta wartość musi być taka sama u wszystkich użytkowników oglądających tę samą przerwę na reklamę w bieżącym zdarzeniu.

pd Wymagane z wyjątkiem zdarzeń z włączonymi przerwami na reklamę bez ustalonego czasu trwania. Czas trwania przerwy na reklamę (w milisekundach). Określane powyżej jako ad_pod_duration.
scte35 Opcjonalnie Sygnał SCTE-35 zakodowany w Base64. Obowiązkiem klienta jest upewnienie się, że sygnał jest prawidłowy. Jeśli jest nieprawidłowy, w odpowiedzi do nagłówka HTTP X-Ad-Manager-Dai-Warning wysyłany jest komunikat, a sygnał jest nadal przesyłany, aby utworzyć przerwę na reklamę. Więcej informacji o tym, jak DAI wykorzystuje sygnał SCTE-35, znajdziesz na liście obsługiwanych znaczników reklam.

Utwórz ciąg tokena

Podaj każdy parametr w kolejności alfabetycznej w formacie name=value, przy czym każda para nazwa-wartość jest oddzielona znakiem tyldy (~).

Parametry opcjonalne bez wartości można zostawić w miejscu z pustym ciągiem znaków lub usunąć je całkowicie.

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 tokena w formacie szesnastkowym. Tajny klucz to klucz uwierzytelniania HMAC powiązany ze zdarzeniem transmisji na żywo w usłudze Google Ad Manager.

Podpisz ciąg tokena

Po wygenerowaniu dołącz do ciągu tokena podpis HMAC w poniższym formacie

~hmac={HMAC signature}

Ciąg tokenu do kodowania adresu URL

Token jest przekazywany jako parametr adresu URL, dlatego ze względów bezpieczeństwa musi być zakodowany na potrzeby tego adresu.

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

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

Klucz obiektu tajnego

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

Podpis HMAC

86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

Podpisany token

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

Podpisany token zakodowany w adresie URL:

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

Przykład 2

Oto przykład, w którym niewypełnione zmienne opcjonalne zostały całkowicie pominięte.

Ciąg tokena

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g3~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

Podpisany token zakodowany w adresie URL

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