As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Exemplo 1: enriquecimento de dados
Cenário
Um serviço de streaming quer buscar dados de identidade do público de um serviço externo (nesse caso, LiveRamp) no início da sessão e armazená-los nos parâmetros do player para segmentação de anúncios posteriormente na sessão. Um envelope de identidade é um identificador criptografado fornecido por um serviço de resolução de identidade que permite que os sistemas de anúncios reconheçam um espectador em vários dispositivos e plataformas sem expor informações pessoais.
Configuração
Buscar LiveRamp envelope (HTTP_REQUEST):
{ "FunctionId": "fetchLiveRamp", "FunctionType": "HTTP_REQUEST", "HttpRequestConfiguration": { "Runtime": "JSONATA", "MethodType": "GET", "Url": "{%'https://api.example-identity.com/v2/envelope?pid=12345&iv=' & player_params.hashedId%}", "Headers": { "Authorization": "{%'Bearer ramp-token-789'%}" }, "RequestTimeoutMilliseconds": 2000, "Output": { "player_params.envelope_id": "{%response.body.envelopes[0].value%}" } } }
nota
Bearer ramp-token-789Substitua por suas próprias credenciais de API. Não armazene tokens confidenciais diretamente nas configurações de função na produção. Considere usar uma estratégia de rotação de tokens.
Defina RequestTimeoutMilliseconds com base no tempo de resposta esperado do seu serviço externo. Um valor menor reduz a latência, mas aumenta a chance de erros de tempo limite.
Mapeamento de funções
{ "FunctionMapping": { "PRE_SESSION_INITIALIZATION": "fetchLiveRamp" } }
O que acontece quando a função é executada
Um espectador inicia uma sessão de reprodução.
MediaTailor executa o gancho do
PRE_SESSION_INITIALIZATIONciclo de vida e funciona.fetchLiveRampA função cria o URL da solicitação usando
player_params.hashedIde chama a LiveRamp API. No URL,pidé o ID do parceiro eivé o identificador do visualizador com hash.A expressão de saída extrai o valor do primeiro envelope na matriz de resposta (
response.body.envelopes[0].value) e o grava em.player_params.envelope_id
dica
Para lidar com erros de forma explícita, verifique response.statusCode antes de acessar os dados de resposta: {%response.statusCode = 200 ?
response.body.envelopes[0].value : ''%}
Para ter mais informações, consulte HTTP_REQUEST, INICIALIZAÇÃO DA PRÉ-SESSÃO, Solução de problemas e monitoramento e Limites.