View a markdown version of this page

Esempio 4: fallback del server pubblicitario secondario - AWS Elemental MediaTailor

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempio 4: fallback del server pubblicitario secondario

Scenario

Il tuo ADS principale a volte restituisce un numero di annunci inferiore a quello che può contenere l'interruzione dell'annuncio. In tal caso, desideri recuperare annunci aggiuntivi da un server pubblicitario secondario e aggiungerli all'elenco degli annunci, in modo che gli annunci aggiuntivi possano occupare il tempo rimanente.

Questo esempio utilizza il POST_ADS_RESPONSE lifecycle hook. Una VAST_REQUEST funzione recupera gli annunci secondari e SEQUENTIAL_EXECUTOR orchestra il processo. Il blocco di output dell'esecutore aggiunge gli annunci recuperati all'elenco degli annunci e RunCondition salta completamente il recupero secondario quando la risposta principale contiene già un numero sufficiente di annunci.

Configurazione della funzione

Funzione Fetch (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%}" } } }

Sequenza (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[]%}" } } }

Mappatura delle funzioni

{ "FunctionMapping": { "POST_ADS_RESPONSE": "backupAdsFallback" } }

Cosa succede in fase di esecuzione

  1. MediaTailor riceve e analizza la risposta ADS primaria, quindi attiva il POST_ADS_RESPONSE lifecycle hook.

  2. Se la risposta principale contiene meno di 3 annunci, la RunCondition valuta true e fetchBackupAds chiama il server pubblicitario secondario. MediaTailor quindi analizza la risposta come VAST, risolve i reindirizzamenti dei wrapper e scrive gli annunci analizzati su. temp.backupAds

  3. Se la risposta principale contiene già 3 o più annunci, il recupero viene saltato e non è impostato. temp.backupAds

  4. Il blocco di output della sequenza scrive l'elenco di annunci combinato in. adsResponse.ads Quando il recupero è stato saltato, la condizione prende il else ramo e restituisce gli annunci originali invariati. Poiché gli annunci secondari sono stati analizzati da una VAST_REQUEST funzione nella stessa chiamata all'hook, MediaTailor ripristina i dati VAST completi di ogni annuncio aggiunto prima della selezione dell'annuncio.

  5. La selezione degli annunci procede con l'elenco combinato. Se il recupero secondario non è riuscito, temp.backupAds è un array vuoto e l'elenco di annunci originale viene utilizzato invariato.

Nota

La parte finale dell'espressione [] di output è obbligatoria. Senza la coercizione degli array, un'espressione che produce zero o un annuncio non produce un array e l'output viene scartato o applicato in modo errato. Per ulteriori informazioni, consulta Post-ads risposta.

Per ulteriori informazioni sui campi utilizzati in questo esempio, vedi e. Richiesta VASTA Post-ads risposta