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
-
MediaTailor recibe y analiza la respuesta ADS principal y, a continuación, activa el enlace del
POST_ADS_RESPONSEciclo de vida. -
Si la respuesta principal contiene menos de 3 anuncios,
RunConditionse evalúatrueyfetchBackupAdsllama 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 -
Si la respuesta principal ya contiene 3 o más anuncios, la búsqueda se omite y no se establece.
temp.backupAds -
El bloque de salida de la secuencia escribe la lista de anuncios combinada en.
adsResponse.adsCuando se omite la búsqueda, la condición pasa a laelserama y devuelve los anuncios originales sin cambios. Como los anuncios secundarios los analizaba unaVAST_REQUESTfunción que invocaba el mismo enlace, MediaTailor restaura los datos VAST completos de cada anuncio adjunto antes de la selección del anuncio. -
La selección de anuncios continúa con la lista combinada. Si se produce un error en la búsqueda secundaria,
temp.backupAdsse 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