La API de inserción de anuncios dinámicos te permite solicitar y hacer un seguimiento de las transmisiones lineales (EN VIVO) de la DAI.
Servicio: dai.google.com
Todos los URI son relativos a https://dai.google.com
Método: stream
| Métodos | |
|---|---|
stream |
POST /linear/v1/hls/event/{assetKey}/stream
Crea una transmisión de DAI para el ID de evento determinado. |
Solicitud HTTP
POST https://dai.google.com/linear/v1/hls/event/{assetKey}/stream
Encabezado de la solicitud
| Parámetros | |
|---|---|
api‑key |
stringLa clave de API, que se proporciona cuando se crea una transmisión, debe ser válida para la red del publicador. En lugar de proporcionarla en el cuerpo de la solicitud, la clave de API se puede pasar en el encabezado de autorización HTTP con el siguiente formato: Authorization: DCLKDAI key="<api-key>" |
Parámetros de ruta
| Parámetros | |
|---|---|
assetKey |
stringEs el ID del evento de la transmisión. |
Cuerpo de la solicitud
El cuerpo de la solicitud es de tipo application/x-www-form-urlencoded y contiene los siguientes parámetros:
| Parámetros | ||
|---|---|---|
dai-ssb |
Opcional | Establécelo en |
| Parámetros de segmentación de DFP | Opcional | Son parámetros de segmentación adicionales. |
| Anular los parámetros de transmisión | Opcional | Anula los valores predeterminados de un parámetro de creación de transmisiones. |
| Autenticación con HMAC | Opcional | Autentica con un token basado en HMAC. |
Cuerpo de la respuesta
Si el proceso se realiza correctamente, el cuerpo de la respuesta contiene un nuevo Stream. Para las transmisiones con balizas del servidor, este Stream solo contiene los campos stream_id y stream_manifest.
Open Measurement
La API de DAI contiene información para la verificación de Open Measurement en el campo Verifications. Este campo contiene uno o más elementos Verification que enumeran los recursos y los metadatos necesarios para ejecutar el código de medición de terceros y verificar la reproducción de la creatividad. Solo se admite JavaScriptResource. Para obtener más información, consulta el IAB Tech Lab y la especificación de VAST 4.1.
Método: Verificación de medios
Después de encontrar un identificador de medios del anuncio durante la reproducción, realiza de inmediato una solicitud con la media_verification_url obtenida del extremo stream. Estas solicitudes no son necesarias para las transmisiones de balizas del servidor, en las que el servidor inicia la verificación de medios.
Las solicitudes al extremo media verification son idempotentes.
| Métodos | |
|---|---|
media verification |
GET /{media_verification_url}/{ad_media_id}
Notifica a la API sobre un evento de verificación de medios. |
Solicitud HTTP
GET https://{media-verification-url}/{ad-media-id}
Cuerpo de la respuesta
media verification
devuelve las siguientes respuestas:
HTTP/1.1 204 No Contentsi la verificación de medios se realiza correctamente y se envían todos los pings.HTTP/1.1 404 Not Foundsi la solicitud no puede verificar el contenido multimedia debido a un formato de URL incorrecto o al vencimiento de la URLHTTP/1.1 404 Not Foundsi se aprobó una solicitud de verificación anterior para este IDHTTP/1.1 409 Conflictsi otra solicitud ya está enviando pings en este momento.
IDs de medios de anuncios (HLS)
Los identificadores de medios de los anuncios se codificarán en los metadatos cronometrados de HLS con la clave TXXX, reservada para los fotogramas de "información de texto definida por el usuario". El contenido del fotograma no estará encriptado y siempre comenzará con el texto "google_".
Todo el contenido de texto del fotograma se debe agregar a la URL de verificación de anuncios antes de realizar cada solicitud de verificación de anuncios.
Método: metadata
El extremo de metadatos en metadata_url devuelve información que se usa para compilar una IU de anuncios. El extremo de metadatos no está disponible para las transmisiones de balizas del servidor, en las que el servidor es responsable de iniciar la verificación de medios publicitarios.
| Métodos | |
|---|---|
metadata |
GET /{metadata_url}/{ad-media-id}GET /{metadata_url}
Recupera información de metadatos del anuncio. |
Solicitud HTTP
GET https://{metadata_url}/{ad-media-id}
GET https://{metadata_url}
Parámetros de consulta
| Parámetros | ||
|---|---|---|
delta_token |
opcional |
string
Es un token opaco que representa el estado de sincronización actual del cliente.
Si se proporciona, el servidor solo devuelve los metadatos que cambiaron desde que se generó el token, junto con un nuevo |
Cuerpo de la respuesta
Si se ejecuta correctamente, la respuesta devuelve una instancia de PodMetadata.
Trabaja con metadatos
Los metadatos tienen tres secciones discretas: tags, ads y breaks. El punto de entrada a los datos es la sección tags. A partir de ahí, itera por las etiquetas y busca la primera entrada cuyo nombre sea un prefijo para el ID de medios del anuncio que se encuentra en la transmisión de video. Por ejemplo, podrías tener un ID de medios del anuncio que se vea de la siguiente manera:
google_1234567890
Luego, encontrarás un objeto de etiqueta llamado google_12345. En este caso, coincide con el ID de medios de tu anuncio. Una vez que encuentres el objeto de prefijo de medios del anuncio correcto, podrás buscar los IDs de anuncios, los IDs de pausas publicitarias y el tipo de evento. Luego, los IDs de anuncios se usan para indexar los objetos ads y los IDs de pausas publicitarias se usan para indexar los objetos breaks.
Datos de respuesta
Transmisión
Stream se usa para renderizar una lista de recursos para una transmisión creada recientemente en formato JSON.| Representación JSON |
|---|
{
"stream_id": string,
"stream_manifest": string,
"hls_master_playlist": string,
"media_verification_url": string,
"metadata_url": string,
"session_update_url": string,
"polling_frequency": number,
} |
| Campos | |
|---|---|
stream_id |
stringEs el identificador del flujo de GAM. |
stream_manifest |
stringEs la URL del manifiesto de la transmisión, que se usa para recuperar la playlist de múltiples variantes en HLS o el MPD en DASH. |
hls_master_playlist |
string(EN DESUSO) URL de la playlist de múltiples variantes de HLS. En su lugar, usa "stream_manifest". |
media_verification_url |
stringEs la URL de verificación de medios que se usa como endpoint base para hacer un seguimiento de los eventos de reproducción. |
metadata_url |
stringURL de metadatos que se usa para sondear información periódica sobre los próximos eventos de anuncios en el flujo. |
session_update_url |
stringEs la URL de actualización de la sesión que se usa para actualizar los parámetros de segmentación de esta transmisión. Los valores originales de los parámetros de segmentación se capturan durante la solicitud inicial de creación de la transmisión. |
polling_frequency |
numberEs la frecuencia de sondeo, en segundos, cuando se solicita metadata_url o heartbeat_url. |
PodMetadata
PodMetadata contiene información de metadatos sobre anuncios, pausas publicitarias y etiquetas de ID de medios.| Representación JSON |
|---|
{
"tags": map[string, object(TagSegment)],
"ads": map[string, object(Ad)],
"ad_breaks": map[string, object(AdBreak)],
"next_delta_token": string,
"obsolete_ad_break_ids": [],
} |
| Campos | |
|---|---|
tags |
map[string, object(TagSegment)]Mapa de segmentos de etiquetas indexados por prefijo de etiqueta. |
ads |
map[string, object(Ad)]Mapa de anuncios indexados por ID de anuncio. |
ad_breaks |
map[string, object(AdBreak)]Mapa de las pausas publicitarias indexadas por ID de pausa publicitaria. |
next_delta_token |
stringEs un token opaco que el cliente puede usar en la próxima votación. |
obsolete_ad_break_ids |
stringEs una lista de IDs de pausas publicitarias que están obsoletos y se deben quitar de la caché del cliente. |
TagSegment
TagSegment contiene una referencia a un anuncio, su pausa publicitaria y el tipo de evento. No se debe enviar un ping de TagSegment con type="progress" al extremo de verificación de medios del anuncio.| Representación JSON |
|---|
{ "ad": string, "ad_break_id": string, "type": string, } |
| Campos | |
|---|---|
ad |
stringID del anuncio de esta etiqueta. |
ad_break_id |
stringID de la pausa publicitaria de esta etiqueta. |
type |
stringEs el tipo de evento de esta etiqueta. |
AdBreak
AdBreak describe una sola pausa publicitaria en la transmisión. Contiene una duración, un tipo (intermedio, previo o posterior) y la cantidad de anuncios.| Representación JSON |
|---|
{ "type": string, "duration": number, "expected_duration": number, "ads": number, } |
| Campos | |
|---|---|
type |
stringLos tipos de interrupción válidos son pre, mid y post. |
duration |
numberDuración total del anuncio para esta pausa publicitaria, en segundos. |
expected_duration |
numberDuración esperada de la pausa publicitaria (en segundos), incluidos todos los anuncios y las cortinillas de video. |
ads |
numberCantidad de anuncios en la pausa publicitaria. |
Anuncio
El anuncio describe un anuncio en la transmisión.| Representación JSON |
|---|
{
"ad_break_id": string,
"position": number,
"duration": number,
"title": string,
"description": string,
"advertiser": string,
"ad_system": string,
"ad_id": string,
"creative_id": string,
"creative_ad_id": string,
"deal_id": string,
"clickthrough_url": string,
"click_tracking_urls": [],
"verifications": [object(Verification)],
"slate": boolean,
"icons": [object(Icon)],
"wrappers": [object(Wrapper)],
"universal_ad_id": object(UniversalAdID),
"extensions": [],
"companions": [object(Companion)],
"interactive_file": object(InteractiveFile),
} |
| Campos | |
|---|---|
ad_break_id |
stringID de la pausa publicitaria de este anuncio. |
position |
numberPosición de este anuncio en la pausa publicitaria, a partir de 1. |
duration |
numberDuración del anuncio, en segundos. |
title |
stringTítulo opcional del anuncio. |
description |
stringDescripción opcional del anuncio. |
advertiser |
stringIdentificador del anunciante opcional. |
ad_system |
stringSistema de anuncios opcional. |
ad_id |
stringID de anuncio opcional. |
creative_id |
stringID de creatividad opcional. |
creative_ad_id |
stringID de anuncio de la creatividad opcional. |
deal_id |
stringID del acuerdo opcional. |
clickthrough_url |
stringURL de clic opcional. |
click_tracking_urls |
stringURLs de seguimiento de clics opcionales. |
verifications |
[object(Verification)]Entradas de verificación de Open Measurement opcionales que enumeran los recursos y los metadatos necesarios para ejecutar el código de medición de terceros y verificar la reproducción de creatividades. |
slate |
booleanEs un valor booleano opcional que indica que la entrada actual es una pizarra. |
icons |
[object(Icon)]Una lista de íconos, que se omite si está vacía. |
wrappers |
[object(Wrapper)]Lista de Wrappers, se omite si está vacía. |
universal_ad_id |
object(UniversalAdID)ID de anuncio universal opcional. |
extensions |
stringLista opcional de todos los nodos <Extension> en VAST. |
companions |
[object(Companion)]Anuncios complementarios opcionales que se pueden mostrar junto con este anuncio. |
interactive_file |
object(InteractiveFile)Creatividad interactiva opcional (SIMID) que se debe mostrar durante la reproducción del anuncio. |
Ícono
El ícono contiene información sobre un ícono de VAST.| Representación JSON |
|---|
{ "click_data": object(ClickData), "creative_type": string, "click_fallback_images": [object(FallbackImage)], "height": int32, "width": int32, "resource": string, "type": string, "x_position": string, "y_position": string, "program": string, "alt_text": string, } |
| Campos | |
|---|---|
click_data |
object(ClickData) |
creative_type |
string |
click_fallback_images |
[object(FallbackImage)] |
height |
int32 |
width |
int32 |
resource |
string |
type |
string |
x_position |
string |
y_position |
string |
program |
string |
alt_text |
string |
ClickData
ClickData contiene información sobre el clic de redireccionamiento de un ícono.| Representación JSON |
|---|
{
"url": string,
} |
| Campos | |
|---|---|
url |
string |
FallbackImage
FallbackImage contiene información sobre una imagen de respaldo de VAST.| Representación JSON |
|---|
{ "creative_type": string, "height": int32, "width": int32, "resource": string, "alt_text": string, } |
| Campos | |
|---|---|
creative_type |
string |
height |
int32 |
width |
int32 |
resource |
string |
alt_text |
string |
Wrapper
El wrapper contiene información sobre un anuncio de wrapper. No incluye un ID del acuerdo si no existe.| Representación JSON |
|---|
{
"system": string,
"ad_id": string,
"creative_id": string,
"creative_ad_id": string,
"deal_id": string,
} |
| Campos | |
|---|---|
system |
stringIdentificador del sistema de anuncios. |
ad_id |
stringID del anuncio que se usa para el anuncio de wrapper. |
creative_id |
stringID de la creatividad que se usa para el anuncio de envoltorio. |
creative_ad_id |
stringID del anuncio de la creatividad que se usa para el anuncio del envoltorio. |
deal_id |
stringID del acuerdo opcional para el anuncio contenedor. |
Verificación
La verificación contiene información para Open Measurement, lo que facilita la medición de la visibilidad y la verificación de terceros. Actualmente, solo se admiten recursos de JavaScript. Consulta https://iabtechlab.com/standards/open-measurement-sdk/| Representación JSON |
|---|
{
"vendor": string,
"java_script_resources": [object(JavaScriptResource)],
"tracking_events": [object(TrackingEvent)],
"parameters": string,
} |
| Campos | |
|---|---|
vendor |
stringEl proveedor de verificación. |
java_script_resources |
[object(JavaScriptResource)]Lista de recursos de JavaScript para la verificación. |
tracking_events |
[object(TrackingEvent)]Lista de eventos de seguimiento para la verificación. |
parameters |
stringCadena opaca que se pasa al código de verificación de arranque. |
JavaScriptResource
JavaScriptResource contiene información para la verificación a través de JavaScript.| Representación JSON |
|---|
{
"script_url": string,
"api_framework": string,
"browser_optional": boolean,
} |
| Campos | |
|---|---|
script_url |
stringURI de la carga útil de JavaScript. |
api_framework |
stringAPIFramework es el nombre del framework de video que ejecuta el código de verificación. |
browser_optional |
booleanIndica si esta secuencia de comandos se puede ejecutar fuera de un navegador. |
TrackingEvent
TrackingEvent contiene URLs a las que el cliente debe enviar un ping en ciertas situaciones.| Representación JSON |
|---|
{
"event": string,
"uri": string,
} |
| Campos | |
|---|---|
event |
stringEs el tipo de evento de seguimiento. |
uri |
stringEs el evento de seguimiento al que se enviará un ping. |
UniversalAdID
El UniversalAdID se usa para proporcionar un identificador único de la creatividad que se mantiene en todos los sistemas de anuncios.| Representación JSON |
|---|
{ "id_value": string, "id_registry": string, } |
| Campos | |
|---|---|
id_value |
stringEs el ID de anuncio universal de la creatividad seleccionada para el anuncio. |
id_registry |
stringEs una cadena que se usa para identificar la URL del sitio web del registro en el que se cataloga el ID de anuncio universal de la creatividad seleccionada. |
Companion
Companion contiene información sobre los anuncios complementarios que se pueden mostrar junto con el anuncio.| Representación JSON |
|---|
{ "click_data": object(ClickData), "creative_type": string, "height": int32, "width": int32, "resource": string, "type": string, "ad_slot_id": string, "api_framework": string, "tracking_events": [object(TrackingEvent)], } |
| Campos | |
|---|---|
click_data |
object(ClickData)Son los datos de clics de este complemento. |
creative_type |
stringEl atributo CreativeType en el nodo <StaticResource> en VAST si se trata de un elemento complementario de tipo estático. |
height |
int32Altura en píxeles de este anuncio complementario. |
width |
int32Ancho en píxeles de este anuncio complementario. |
resource |
stringEn el caso de los complementos estáticos y de iframe, esta será la URL que se cargará y mostrará. En el caso de los anuncios complementarios en HTML, será el fragmento de HTML que se debe mostrar como anuncio complementario. |
type |
stringTipo de este complemento. Puede ser estático, iframe o HTML. |
ad_slot_id |
stringEs el ID del espacio de este compañero. |
api_framework |
stringEs el framework de la API para este complemento. |
tracking_events |
[object(TrackingEvent)]Lista de eventos de seguimiento para este elemento complementario. |
InteractiveFile
InteractiveFile contiene información sobre la creatividad interactiva (es decir, SIMID) que se debe mostrar durante la reproducción del anuncio.| Representación JSON |
|---|
{ "resource": string, "type": string, "variable_duration": boolean, "ad_parameters": string, } |
| Campos | |
|---|---|
resource |
stringURL de la creatividad interactiva. |
type |
stringTipo de MIME del archivo proporcionado como recurso. |
variable_duration |
booleanIndica si esta creatividad puede solicitar que se extienda la duración. |
ad_parameters |
stringEl valor del nodo <AdParameters> en VAST. |