Generare un token HMAC firmato

Ogni richiesta di segmento effettuata utilizzando la pubblicazione di pod di reindirizzamento del segmento deve includere un token HMAC firmato per l'autenticazione, se non utilizzi le notifiche di interruzione pubblicitaria anticipata.

Questo token può essere calcolato una volta per interruzione pubblicitaria e condiviso tra tutte le sessioni di streaming.

Raccogliere i parametri dei token

Raccogli le seguenti informazioni dall'interruzione pubblicitaria corrente per compilare il corpo del token.

Parametri token
custom_asset_key Obbligatorio La chiave asset del live streaming personalizzata, da Google Ad Manager.
cust_params Facoltativo Parametri di targeting personalizzato. Leggi i cust_params.
exp Obbligatorio Timestamp della scadenza del token in secondi.
network_code Obbligatorio Il codice di rete Ad Manager 360 per questa rete.
pod_id Obbligatorio Identificatore per l'interruzione pubblicitaria. Deve essere un numero intero che inizia con 1 e aumenta di uno per ogni interruzione pubblicitaria.

Questo valore deve essere lo stesso per tutti gli utenti che visualizzano la stessa interruzione pubblicitaria nell'evento attuale.

pd Obbligatorio, tranne per gli eventi con interruzioni pubblicitarie senza durata attivate. La durata dell'interruzione pubblicitaria in millisecondi. Ci riferiamo a sopra come ad_pod_duration.
scte35 Facoltativo Segnale SCTE-35 con codifica Base64. È responsabilità del client assicurarsi che l'indicatore sia corretto. Se l'errore non è corretto, viene inviato un messaggio all'intestazione HTTP X-Ad-Manager-Dai-Warning nella risposta e l'indicatore viene comunque propagato per creare un'interruzione pubblicitaria. Consulta gli indicatori di annunci supportati per ulteriori informazioni su come l'inserimento di annunci dinamici utilizza il segnale SCTE-35.

Crea stringa token

Elenca ogni parametro in ordine alfabetico, nel formato name=value, con ogni coppia nome-valore separata da una tilde (~).

I parametri facoltativi senza un valore possono essere lasciati al posto con una stringa vuota per il valore oppure rimossi completamente.

formato stringa token

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

Genera firma HMAC

La firma HMAC è un hash SHA-256 della stringa del token in formato esadecimale. La chiave segreta è la chiave di autenticazione HMAC associata all'evento in live streaming in Google Ad Manager.

Firma la stringa del token

Una volta generata, aggiungi la firma HMAC alla stringa del token nel seguente formato

~hmac={HMAC signature}

Stringa del token di codifica URL

Questo token viene trasmesso come parametro URL, quindi deve essere codificato come URL per motivi di sicurezza.

Esempio 1

Ecco un esempio in cui parametri facoltativi non utilizzati sono inclusi come stringhe vuote.

Stringa di token

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

Chiave secret

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

Firma HMAC

86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

Token firmato

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

Token firmato con codifica URL:

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

Esempio 2

Di seguito è riportato un esempio in cui le variabili facoltative non compilate vengono omesse del tutto.

Stringa di token

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g3~exp=1489680000~network_code=6062~pd=180000~pod_id=5
Chiave secret
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
Firma HMAC
6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Token firmato

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

Token firmato con codifica URL

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