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, se não estiver usando notificações antecipadas de intervalo de anúncio.

Esse token pode ser calculado uma vez por intervalo de anúncio e compartilhado em toda a transmissão. de conteúdo.

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 de recurso de transmissão ao vivo personalizada do Google Ad Manager.
cust_params Opcional Parâmetros de segmentação personalizados. Consulte cust_params.
exp Obrigatório Carimbo de data/hora da expiração do token em segundos.
network_code Obrigatório É o código da rede do Ad Manager 360.
pod_id Obrigatório Identificador do intervalo de anúncio. Deve ser um número inteiro a partir de 1 e aumentando em um para 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 o evento atual.

pd Obrigatório, exceto para eventos com intervalos de anúncio sem duração ativados. É a duração em milésimos de segundo do intervalo de anúncio. Mencionada acima como ad_pod_duration:
scte35 Opcional Sinal SCTE-35 codificado em Base64. É responsabilidade do cliente garantir se o indicador está correto. Se não estiver correta, uma mensagem será enviada ao cabeçalho HTTP X-Ad-Manager-Dai-Warning na resposta e ainda será propagado para criar um intervalo de anúncio. Consulte os artigos marcadores de anúncio 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 nome-valor separado por um caractere til (~).

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 em formato HEX. A é a chave secreta Chave de autenticação HMAC associados ao evento de transmissão ao vivo no Google Ad Manager.

String do token de assinatura

Depois da geração, anexe a assinatura HMAC à string do token no seguinte formato

~hmac={HMAC signature}

String do token de codificação de URL

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

Exemplo 1

Confira um exemplo em que parâmetros opcionais não utilizados são incluídos como vazios as strings.

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 por URL

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