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. Os casos de uso comuns incluem a classificação de dispositivos com base nas cadeias de caracteres do agente do usuário, a seleção de URLs do servidor de decisão de anúncios com a lógica de A/B teste e a reformatação dos parâmetros do player antes que eles cheguem ao servidor de decisão do anúncio.
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 associaçã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. 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 prossegue 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