View a markdown version of this page

Exemplo 4: fallback do servidor de anúncios secundário - 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á.

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

  1. MediaTailor recebe e analisa a resposta primária do ADS e, em seguida, dispara o gancho do POST_ADS_RESPONSE ciclo de vida.

  2. Se a resposta primária contiver menos de 3 anúncios, ela RunCondition avalia true e fetchBackupAds liga 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

  3. Se a resposta principal já tiver 3 ou mais anúncios, a busca será ignorada e não temp.backupAds será definida.

  4. O bloco de saída da sequência grava a lista de anúncios combinada emadsResponse.ads. Quando a busca foi ignorada, a condição se else ramifica e retorna os anúncios originais inalterados. Como os anúncios secundários foram analisados por uma VAST_REQUEST funçã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.

  5. A seleção de anúncios prossegue com a lista combinada. Se a busca secundária falhar, temp.backupAds será 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.