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 4: fallback do servidor de anúncios secundário
Cenário
Às vezes, seu ADS principal retorna menos anúncios do que o intervalo publicitário pode conter. Quando isso acontece, você quer buscar anúncios adicionais de um servidor de anúncios secundário e anexá-los à lista de anúncios, para que os anúncios extras possam preencher o tempo restante.
Este exemplo usa o gancho do POST_ADS_RESPONSE ciclo de vida. Uma VAST_REQUEST função busca os anúncios secundários e SEQUENTIAL_EXECUTOR orquestra o processo. O bloco de saída do executor anexa os anúncios buscados à lista de anúncios e RunCondition ignora completamente a busca secundária quando a resposta primária já tem anúncios suficientes.
Configuração da função
Função de busca (fetchBackupAds):
{ "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%}" } } }
Sequência (backupAdsFallback):
{ "FunctionId": "backupAdsFallback", "FunctionType": "SEQUENTIAL_EXECUTOR", "SequentialExecutorConfiguration": { "Runtime": "JSONATA", "TimeoutMilliseconds": 2000, "FunctionList": [ { "FunctionId": "fetchBackupAds", "RunCondition": "{%$count(adsResponse.ads) < 3%}" } ], "Output": { "adsResponse.ads": "{%$count(adsResponse.ads) < 3 ? $append(adsResponse.ads, temp.backupAds)[] : adsResponse.ads[]%}" } } }
Mapeamento de funções
{ "FunctionMapping": { "POST_ADS_RESPONSE": "backupAdsFallback" } }
O que acontece no runtime
-
MediaTailor recebe e analisa a resposta primária do ADS e, em seguida, dispara o gancho do
POST_ADS_RESPONSEciclo de vida. -
Se a resposta primária contiver menos de 3 anúncios, ela
RunConditionavaliatrueefetchBackupAdsliga para o servidor de anúncios secundário. MediaTailor em seguida, analisa a resposta como VAST, resolve os redirecionamentos do wrapper e grava os anúncios analisados em.temp.backupAds -
Se a resposta principal já tiver 3 ou mais anúncios, a busca será ignorada e não
temp.backupAdsserá definida. -
O bloco de saída da sequência grava a lista de anúncios combinada em
adsResponse.ads. Quando a busca foi ignorada, a condição seelseramifica e retorna os anúncios originais inalterados. Como os anúncios secundários foram analisados por umaVAST_REQUESTfunção na mesma invocação de gancho, MediaTailor restaura os dados VAST completos de cada anúncio anexado antes da seleção do anúncio. -
A seleção de anúncios prossegue com a lista combinada. Se a busca secundária falhar,
temp.backupAdsserá uma matriz vazia e a lista de anúncios original será usada inalterada.
nota
O final [] na expressão de saída é obrigatório. Sem coerção de matriz, uma expressão que produz zero ou um anúncio não produz uma matriz e a saída é descartada ou aplicada incorretamente. Para obter mais informações, consulte Post-ads resposta.
Para obter mais informações sobre os campos usados neste exemplo, consulte Solicitação VAST Post-ads resposta e.