View a markdown version of this page

Solicitud VAST - 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.

Solicitud VAST

Cuándo se debe usar

VAST_REQUESTUtilízala cuando tu función necesite obtener anuncios de un punto final de una plantilla de publicación de anuncios de vídeo (VAST). MediaTailor envía la solicitud, analiza la respuesta como VAST con las redirecciones del contenedor resueltas y pone los anuncios analizados a disposición de tus expresiones de salida. Los casos de uso más comunes incluyen buscar anuncios de un servidor de anuncios secundario para complementar una respuesta principal breve y recuperar anuncios internos o promociones para utilizarlos en pausas publicitarias insuficientemente rellenadas.

VAST_REQUESTlas funciones se admiten en los ganchos del PRE_MANIFEST_INSERTION ciclo de vida POST_ADS_RESPONSE y por separado o como etapas dentro de un ejecutor. Los anuncios analizados por una VAST_REQUEST función se integran con los resultados de esos ganchos con total fidelidad. Para obtener más información, consulte Cómo se integran los anuncios analizados con las salidas de enlace.

Campos de configuración

Una VAST_REQUEST función tiene los siguientes campos:

  • Tiempo de ejecución: el lenguaje de expresiones. Establézcalo enJSONATA.

  • MethodType— El método HTTP. Los valores admitidos son GET (el valor predeterminado) yPOST.

  • Url: el punto final de VAST al que enviar la solicitud. Puede usar una URL estática o una expresión Jsonata que cree la URL de forma dinámica. Una URL estática debe usar el https esquema.

  • Encabezados: los encabezados HTTP que se van a incluir en la solicitud, especificados como pares de nombre y valor del encabezado. Utilice {%...%} la sintaxis de expresiones para los valores de encabezado dinámicos.

  • Cuerpo: el cuerpo de la solicitud que se va a enviar. Se usa con POST solicitudes, por ejemplo, para enviar una solicitud de oferta de OpenRTB. Puede usar una expresión JSonata para crear el cuerpo de forma dinámica.

  • RequestTimeoutMilliseconds(obligatorio): cuánto tiempo hay que esperar para recibir una respuesta.

  • Salida: define los valores que se generarán una vez finalizada la llamada. Cada entrada asigna una clave de salida a una expresión que puede hacer referencia al response objeto, inclusoresponse.parsedAds.

Los límites de solicitud HTTP que se aplican a HTTP_REQUEST las funciones también se aplican aquí. Para obtener más información, consulte Límites.

Cómo se procesa la solicitud

  1. Crea la solicitud: MediaTailor evalúa las Body expresiones UrlHeaders, y comparándolas con el estado actual de la sesión y, a continuación, envía la solicitud. POSTlas solicitudes se envían con el tipo de application/json contenido.

  2. Analiza la respuesta: MediaTailor analiza el cuerpo de la respuesta como VAST. Si un anuncio es un contenedor VAST, MediaTailor sigue la cadena de redireccionamiento y la convierte en el último anuncio en línea. Las solicitudes de redireccionamiento del contenedor siempre se envían con élGET, tal y como exige la especificación VAST. Si su terminal devuelve un documento que contiene una URL de VAST en lugar de la propia VAST (como hacen algunos postores), encadene un HTTP_REQUEST paso que recupere la URL y, a continuación, otro VAST_REQUEST paso que la recupere.

  3. Procesa los anuncios analizados: MediaTailor evalúa las expresiones del bloque de salida. Estas expresiones pueden hacer referencia al estado original de la sesión y al response objeto.

Campos de respuesta

Una vez finalizada la llamada, puede hacer referencia a los siguientes campos en sus expresiones de salida:

Campo Tipo Description (Descripción)
response.parsedAds Matriz Se resolvieron los anuncios analizados, con los redireccionamientos del contenedor. Cada anuncio tiene la misma forma que las adsResponse.ads entradas siguientes:adId,,,,,durationSeconds,, adSystem adTitlecreativeId, sequence y. POST_ADS_RESPONSE mediaFiles trackingEvents Se establece en una matriz vacía cuando la llamada falle o la respuesta no sea válida como VAST.
response.statusCode Entero El código de estado HTTP devuelto por el punto final. Establézcalo como null si no hubiera error de red.

Como los anuncios analizados utilizan la misma forma queadsResponse.ads, puede mover expresiones entre las dos superficies sin tener que volver a escribir las referencias a los campos.

Cómo se integran los anuncios analizados con las salidas de enlace

Todos los anuncios que analiza una VAST_REQUEST función se retienen internamente MediaTailor, codificados con el ID de anuncio VAST del anuncio, mientras dure la invocación del enlace. De este modo, los anuncios analizados reciben un tratamiento de primera clase en los resultados de los enlaces:

  • Al añadir un anuncio analizado adsResponse.ads por su contenidoPOST_ADS_RESPONSE, se adId restauran todos los datos VAST analizados del anuncio, incluida la lista completa de archivos multimedia y los eventos de seguimiento.

  • En efectoPRE_MANIFEST_INSERTION, al insertar un anuncio solo con sus botones, se puede MediaTailor seleccionar vastAdId el mejor archivo multimedia y gestionar automáticamente el registro de transcodificación.

importante

Los anuncios retenidos no se transfieren entre las invocaciones de enlaces. Una VAST_REQUEST llamada realizada a las no POST_ADS_RESPONSE está disponible para una PRE_MANIFEST_INSERTION invocación posterior. Llama VAST_REQUEST a la misma cadena de funciones del enlace en la que utilizas sus resultados.

Comportamiento de error

Si la llamada falla debido a un error de red o a que se ha agotado el tiempo de espera, si el punto final devuelve un error HTTP o si la respuesta no se puede analizar como VAST, response.parsedAds es una matriz vacía y la cadena de funciones continúa. Comprueba si hay response.statusCode un error de HTTP y una respuesta de VAST que realmente no contiene anuncios.

sugerencia

Mantente RequestTimeoutMilliseconds firme. La resolución de un contenedor VAST puede implicar varios viajes de ida y vuelta a la red, y todos ellos se descontarán del tiempo de espera del enlace y del presupuesto del enlace compartido.

Ejemplo: buscar anuncios de un servidor de anuncios secundario

La siguiente función obtiene los anuncios de un servidor de anuncios de respaldo y almacena los anuncios analizados en datos temporales. Un CUSTOM_OUTPUT paso más adelante en la misma secuencia puede añadirlos a. adsResponse.ads Está diseñado para el POST_ADS_RESPONSE ciclo de vida.

{ "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%}" } } }

En su lugar, para enviar una solicitud de oferta de OpenRTB, MethodType configúrela en POST e introdúzcala en. Body El postor debe devolver VAST en el cuerpo de respuesta.

Para ver un recorrido completo de un ejemplo similar, consulte. Ejemplos de funciones