View a markdown version of this page

Solicitação VAST - AWS Elemental MediaTailor

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á.

Solicitação VAST

Quando usar

Use VAST_REQUEST quando sua função precisar buscar anúncios de um endpoint do modelo de veiculação de anúncios em vídeo (VAST). MediaTailor envia a solicitação, analisa a resposta como VAST com os redirecionamentos do wrapper resolvidos e disponibiliza os anúncios analisados para suas expressões de saída. Casos de uso comuns incluem buscar anúncios de um servidor de anúncios secundário para complementar uma resposta primária curta e recuperar anúncios internos ou promoções para injetar em intervalos publicitários mal preenchidos.

VAST_REQUESTas funções são suportadas nos ganchos do POST_ADS_RESPONSE PRE_MANIFEST_INSERTION ciclo de vida, sozinhas ou como etapas dentro de um executor. Os anúncios analisados por uma VAST_REQUEST função se integram às saídas desses ganchos com total fidelidade. Para obter detalhes, consulte Como os anúncios analisados se integram às saídas de gancho.

Campos de configuração

Uma VAST_REQUEST função tem os seguintes campos:

  • Runtime — A linguagem de expressão. Defina isso comoJSONATA.

  • MethodType— O método HTTP. Os valores suportados são GET (o padrão) POST e.

  • Url — O endpoint VAST para o qual enviar a solicitação. Você pode usar uma URL estática ou uma expressão JSOnata que cria a URL dinamicamente. Um URL estático deve usar o https esquema.

  • Cabeçalhos — Os cabeçalhos HTTP a serem incluídos na solicitação, especificados como pares de nome e valor do cabeçalho. Use a sintaxe de {%...%} expressão para valores de cabeçalho dinâmicos.

  • Corpo — O corpo da solicitação a ser enviada. Usado com POST solicitações, por exemplo, para enviar uma solicitação de lance do OpenRTB. Você pode usar uma expressão JSOnata para criar o corpo dinamicamente.

  • RequestTimeoutMilliseconds(obrigatório) — Quanto tempo esperar por uma resposta.

  • Saída — Define os valores a serem produzidos após a conclusão da chamada. Cada entrada mapeia uma chave de saída para uma expressão que pode referenciar o response objeto, inclusiveresponse.parsedAds.

Os limites de solicitação HTTP que se aplicam às HTTP_REQUEST funções também se aplicam aqui. Para obter detalhes, consulte Limites.

Como a solicitação é processada

  1. Crie a solicitação — MediaTailor avalia as Body expressõesUrl,Headers, e em relação ao estado atual da sessão e, em seguida, envia a solicitação. POSTas solicitações são enviadas com o tipo de application/json conteúdo.

  2. Analisa a resposta — MediaTailor analisa o corpo da resposta como VAST. Se um anúncio for um invólucro VAST, MediaTailor segue a cadeia de redirecionamento e a resolve para o anúncio embutido final. As solicitações de redirecionamento do Wrapper são sempre enviadas comGET, conforme exigido pela especificação VAST. Se seu endpoint retornar um documento que contém uma URL VAST em vez da própria VAST (como fazem alguns licitantes), encadeie uma HTTP_REQUEST etapa que recupere a URL, seguida por uma VAST_REQUEST etapa que a busque.

  3. Processe os anúncios analisados — MediaTailor avalia as expressões no bloco de saída. Essas expressões podem fazer referência ao estado original da sessão e ao response objeto.

Campos de resposta

Depois que a chamada for concluída, você poderá fazer referência aos seguintes campos em suas expressões de saída:

Campo Tipo Description
response.parsedAds Array Os anúncios analisados, com os redirecionamentos do wrapper resolvidos. Cada anúncio tem o mesmo formato das adsResponse.ads entradas no POST_ADS_RESPONSE gancho: adId durationSecondsadSystem,adTitle,creativeId, sequencemediaFiles,, trackingEvents e. Defina como uma matriz vazia quando a chamada falhar ou a resposta não for VAST válida.
response.statusCode Inteiro O código de status HTTP retornado pelo endpoint. Definido como null sem falha de rede.

Como os anúncios analisados usam a mesma forma deadsResponse.ads, você pode mover expressões entre as duas superfícies sem reescrever as referências de campo.

Como os anúncios analisados se integram às saídas de gancho

Cada anúncio que uma VAST_REQUEST função analisa é retido internamente MediaTailor, digitado pelo ID do anúncio VAST do anúncio, durante a invocação do gancho. Isso oferece aos anúncios analisados um tratamento de primeira classe nas saídas de gancho:

  • EmPOST_ADS_RESPONSE, anexar um anúncio analisado a adsResponse.ads by its adId restaura os dados VAST completos analisados do anúncio, incluindo a lista completa de arquivos de mídia e eventos de rastreamento.

  • EmPRE_MANIFEST_INSERTION, injetar apenas um anúncio vastAdId permite MediaTailor selecionar o melhor arquivo de mídia e gerenciar o registro de transcodificação automaticamente.

Importante

Os anúncios retidos não são transferidos entre as invocações de ganchos. Uma VAST_REQUEST chamada feita em não POST_ADS_RESPONSE está disponível para uma PRE_MANIFEST_INSERTION invocação posterior. Chame VAST_REQUEST a mesma cadeia de funções do gancho em que você usa seus resultados.

Comportamento com falha

Se a chamada falhar devido a um erro de rede ou tempo limite, se o endpoint retornar um erro HTTP ou se a resposta não puder ser analisada como VAST, response.parsedAds é uma matriz vazia e a cadeia de funções continua. Verifique response.statusCode se há uma falha de HTTP de uma resposta VAST que realmente não contém anúncios.

dica

Mantenha-se RequestTimeoutMilliseconds firme. A resolução do invólucro VAST pode envolver várias viagens de ida e volta à rede, e todas elas contam com base no tempo limite do gancho e no orçamento compartilhado do gancho.

Exemplo: buscar anúncios de um servidor de anúncios secundário

A função a seguir busca anúncios de um servidor de anúncios de backup e armazena os anúncios analisados em dados temporários. Uma CUSTOM_OUTPUT etapa posterior na mesma sequência pode anexá-los a. adsResponse.ads Ele foi projetado para o gancho do POST_ADS_RESPONSE ciclo de vida.

{ "FunctionId": "fetchBackupAds", "FunctionType": "VAST_REQUEST", "VastRequestConfiguration": { "Runtime": "JSONATA", "MethodType": "GET", "Url": "{%'https://backup-ads.example.com/vast?sid=' & session.uuid%}", "Headers": { "Accept": "application/xml" }, "RequestTimeoutMilliseconds": 1000, "Output": { "temp.backupAds": "{%response.parsedAds%}" } } }

Em vez disso, para enviar uma solicitação de lance do OpenRTB, MethodType defina POST e forneça a solicitação de lance em. Body O licitante deve devolver o VAST no órgão de resposta.

Para obter uma explicação completa de um exemplo semelhante, consulte. Exemplos de funções