Gerar um token HMAC assinado

Cada solicitação de segmento feita usando a veiculação de conjunto de redirecionamento de segmento precisa incluir um token assinado por HMAC para autenticação, caso não use notificações antecipadas de intervalo de anúncio.

Esse token pode ser calculado uma vez por intervalo de anúncio e compartilhado em todas as sessões de transmissão.

Coletar parâmetros de token

Colete as seguintes informações do intervalo de anúncio atual para preencher o corpo do token.

Parâmetros de token
custom_asset_key Obrigatório É a chave personalizada do recurso de transmissão ao vivo do Google Ad Manager.
cust_params Opcional Parâmetros de segmentação personalizados. Consulte os cust_params.
exp Obrigatório Carimbo de data/hora de expiração do token em segundos.
network_code Obrigatório É o código do Ad Manager 360 para esta rede.
pod_id Obrigatório É o identificador do intervalo de anúncio. Precisa ser um número inteiro a partir de 1, aumentando em um a cada intervalo de anúncio.

Esse valor precisa ser o mesmo para todos os usuários que visualizam o mesmo intervalo de anúncio no evento atual.

pd Obrigatório, exceto para eventos com intervalos de anúncio sem duração ativados. É a duração em milissegundos do intervalo de anúncio. Chamado acima de ad_pod_duration.
scte35 Opcional Sinal SCTE-35 codificado em Base64. É responsabilidade do cliente garantir que o indicador esteja correto. Se estiver incorreto, uma mensagem será enviada ao cabeçalho HTTP X-Ad-Manager-Dai-Warning na resposta e o indicador ainda será propagado para criar um intervalo de anúncio. Consulte os marcadores de anúncio compatíveis para mais informações sobre como a DAI usa o sinal SCTE-35.

Criar string de token

liste cada parâmetro em ordem alfabética, no formato name=value, com cada par de nome-valor separado por um caractere til (~).

Os parâmetros opcionais sem valor podem ser mantidos com uma string vazia para o valor ou totalmente removidos.

formato da string de token

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

Gerar assinatura HMAC

A assinatura HMAC é um hash SHA-256 da string do token no formato HEX. A chave secreta é a chave de autenticação HMAC associada ao seu evento de transmissão ao vivo no Google Ad Manager.

String de token de assinatura

Depois de gerada, anexe a assinatura HMAC à string de token no seguinte formato

~hmac={HMAC signature}

String de token de codificação em URL

Esse token é transmitido como um parâmetro de URL e, por isso, precisa ser codificado para segurança.

Exemplo 1

Veja um exemplo em que parâmetros opcionais não utilizados são incluídos como strings vazias.

String do token

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

Chave do secret

A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

Assinatura HMAC

86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

Token assinado

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

Token assinado codificado para URL:

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

Exemplo 2

Confira um exemplo em que as variáveis opcionais não preenchidas são totalmente omitidas.

String do token

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g3~exp=1489680000~network_code=6062~pd=180000~pod_id=5
Chave do secret
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F
Assinatura HMAC
6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Token assinado

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

Token assinado codificado para URL

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