View a markdown version of this page

Ejemplo 4: Recurso a un servidor de anuncios secundario - AWS Elemental MediaTailor

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplo 4: Recurso a un servidor de anuncios secundario

Escenario

El ADS principal a veces muestra menos anuncios de los que puede contener la pausa publicitaria. Cuando eso suceda, querrás obtener anuncios adicionales de un servidor de anuncios secundario y añadirlos a la lista de anuncios para que los anuncios adicionales puedan ocupar el tiempo restante.

En este ejemplo, se utiliza el enlace del POST_ADS_RESPONSE ciclo de vida. Una VAST_REQUEST función obtiene los anuncios secundarios y SEQUENTIAL_EXECUTOR organiza el proceso. El bloque de resultados del ejecutor añade los anuncios obtenidos a la lista de anuncios y RunCondition omite por completo la búsqueda secundaria cuando la respuesta principal ya contiene suficientes anuncios.

Configuración de funciones

Función de búsqueda (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%}" } } }

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

Mapeo de funciones

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

Qué sucede en tiempo de ejecución

  1. MediaTailor recibe y analiza la respuesta ADS principal y, a continuación, activa el enlace del POST_ADS_RESPONSE ciclo de vida.

  2. Si la respuesta principal contiene menos de 3 anuncios, RunCondition se evalúa true y fetchBackupAds llama al servidor de anuncios secundario. MediaTailor luego analiza la respuesta como VAST, resuelve los redireccionamientos del contenedor y escribe los anuncios analizados en. temp.backupAds

  3. Si la respuesta principal ya contiene 3 o más anuncios, la búsqueda se omite y no se establece. temp.backupAds

  4. El bloque de salida de la secuencia escribe la lista de anuncios combinada en. adsResponse.ads Cuando se omite la búsqueda, la condición pasa a la else rama y devuelve los anuncios originales sin cambios. Como los anuncios secundarios los analizaba una VAST_REQUEST función que invocaba el mismo enlace, MediaTailor restaura los datos VAST completos de cada anuncio adjunto antes de la selección del anuncio.

  5. La selección de anuncios continúa con la lista combinada. Si se produce un error en la búsqueda secundaria, temp.backupAds se trata de una matriz vacía y la lista de anuncios original se utiliza sin cambios.

nota

El final de [] la expresión de salida es obligatorio. Sin la coerción de la matriz, una expresión que produce cero o uno y no produce una matriz, y el resultado se descarta o se aplica incorrectamente. Para obtener más información, consulte Post-ads respuesta.

Para obtener más información sobre los campos utilizados en este ejemplo, consulte Solicitud VAST y. Post-ads respuesta