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á.
Saída personalizada
Quando usar
Use CUSTOM_OUTPUT quando sua lógica de função for puramente computacional. Casos de uso comuns incluem classificar dispositivos com base em cadeias de caracteres de agentes de usuário, selecionar URLs do servidor de decisão de anúncios com lógica de A/B teste e reformatar os parâmetros do player antes que eles cheguem ao servidor de decisão de anúncios.
CUSTOM_OUTPUTas funções são do tipo mais rápido porque avaliam expressões na memória sem chamadas de rede. Escolha esse tipo sempre que puder atingir sua meta sem entrar em contato com um serviço externo.
Campos de configuração
Uma CUSTOM_OUTPUT função tem dois campos:
-
Runtime — A linguagem de expressão. Defina isso como
JSONATA. -
Saída — Um mapa de pares de valores-chave. Cada chave é um nome de vinculação de saída (como
player_params.device_type), e cada valor é uma expressão que é MediaTailor avaliada em tempo de execução.
nota
Use {%...%} para agrupar expressões JSonata em campos de string. Os valores sem esses delimitadores são tratados como cadeias de caracteres estáticas. Por exemplo, "{%session.id%}" avalia a expressão, enquanto "session.id" é o texto literal.
Comportamento durante a execução
Quando MediaTailor executa uma CUSTOM_OUTPUT função, ela avalia cada expressão no bloco de saída em relação ao estado atual da sessão. Todas as expressões veem o mesmo instantâneo de entrada. Os resultados avaliados se tornam as saídas da função.
Se alguma expressão falhar na avaliação, MediaTailor descarta toda a saída da função e procede como se nenhuma função estivesse anexada. A função não confirma parcialmente os resultados.
Exemplo: divisão A/B de tráfego
A função a seguir atribui aleatoriamente cada intervalo de anúncio a um dos dois URLs do servidor de decisão de anúncios. Ele foi projetado para o gancho do PRE_ADS_REQUEST ciclo de vida.
{ "FunctionId": "abTestAdsUrl", "FunctionType": "CUSTOM_OUTPUT", "CustomOutputConfiguration": { "Runtime": "JSONATA", "Output": { "adsRequest.url": "{%$random() < 0.5 ? 'https://ads.example.com/v1' : 'https://ads.example.com/v2'%}" } } }
Para obter uma explicação completa desse exemplo, consulte. Exemplos de funções