API de VOD de inserción de anuncios dinámicos

La API de inserción de anuncios dinámicos te permite solicitar DAI y hacerle un seguimiento transmisiones de video on demand (VOD). Se admiten las transmisiones HLS y DASH.

Servicio: dai.google.com

La ruta del método stream está relacionada con https://dai.google.com

Método: stream

Métodos
stream POST /ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream

Crea una transmisión de DAI de HLS para la fuente del contenido y el ID de video determinados.

POST /ondemand/v1/dash/content/{content-source}/vid/{video-id}/stream

Crea una transmisión de DAI DASH para la fuente del contenido y el ID de video determinados.

Solicitud HTTP

POST https://dai.google.com/ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream

POST https://dai.google.com/ondemand/v1/dash/content/{content-source}/vid/{video-id}/stream

Encabezado de la solicitud

Parámetros
api‑key string

La clave de API, que se proporciona cuando se crea una transmisión, debe ser válido para la red del publicador.

En lugar de proporcionarla en el cuerpo de la solicitud, la clave de API se puede pasar en Encabezado de autorización HTTP con el siguiente formato:

Authorization: DCLKDAI key="<api-key>"

Parámetros de ruta

Parámetros
content-source string

El ID de CMS de la transmisión

video-id string

El ID de video de la transmisión.

Cuerpo de la solicitud

El cuerpo de la solicitud es de tipo application/x-www-form-urlencoded y contiene la siguiente información: los siguientes parámetros:

Parámetros
dai-ssb Opcional

Configúralo en true para crear una transmisión de balizas del servidor. La configuración predeterminada es false. El seguimiento de la transmisión predeterminada el cliente es quien inicia el servicio, y se hace ping a él desde el servidor.

Parámetros de segmentación de DFP Opcional Parámetros de segmentación adicionales.
Anular parámetros de transmisión Opcional Anula los valores predeterminados de un parámetro de creación de transmisión.
Autenticación HMAC Opcional Autentica con un token basado en HMAC.

Cuerpo de la respuesta

Si el proceso es satisfactorio, el cuerpo de la respuesta contiene un nuevo Stream Para las transmisiones de píxeles contadores del servidor, esta Stream Contiene solo los campos stream_id y stream_manifest.

Open Measurement

El campo Verifications contiene información para abrir Verificación de mediciones para transmisiones que no son de balizas del servidor. Verifications contiene uno o más elementos Verification que enumeran los recursos y metadatos que necesita para verificar la reproducción de creatividades con un código de medición de terceros. Solo se admite JavaScriptResource. Para obtener más información, consulta IAB Tech Lab. y la especificación de VAST 4.1.

Método: verificación de contenido multimedia

Cuando encuentres un identificador de contenido multimedia durante la reproducción, crea una solicitud con el media_verification_url de stream extremo. media_verification_url es una ruta de acceso absoluta. Las solicitudes de verificación de medios no son necesarias para las transmisiones con balizas del servidor donde 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 {media-verification-url}/{ad-media-id}

Cuerpo de la respuesta

media verification devuelve las siguientes respuestas:

  • Es HTTP/1.1 204 No Content si la verificación de medios se realiza correctamente y se envían todos los pings.
  • Se utiliza HTTP/1.1 404 Not Found si la solicitud no puede verificar el contenido multimedia debido a un vencimiento o formato de URL incorrectos.
  • HTTP/1.1 404 Not Found si se realiza correctamente una solicitud de verificación anterior para este ID.
  • Es HTTP/1.1 409 Conflict si otra solicitud ya está enviando pings en este momento.

IDs de medios de anuncios (HLS)

Los identificadores multimedia de anuncios se codificarán en metadatos temporizados de HLS con la clave TXXX. reservados para "información de texto definida por el usuario" o los fotogramas. El contenido del marco no estarán encriptadas y siempre comenzará con el texto "google_".

Todo el contenido de texto del marco se debe anexar al media_verification_url para cada solicitud de verificación de anuncio.

ID de medios del anuncio (DASH)

Los identificadores multimedia del anuncio se insertarán en el manifiesto mediante Elemento EventStream de DASH.

Cada EventStream tendrá un URI de ID de esquema de urn:google:dai:2018. Incluirán eventos con el atributo messageData que contienen un ID de medios del anuncio que comienza con “google_” Todo el contenido de messageData debe agregarse a la media_verification_url de cada anuncio solicitud de verificación.

Datos de respuesta

Transmitir

La transmisión se usa para renderizar una lista de todos los recursos de una red en formato JSON .
Representación JSON
{
  "stream_id": string,
  "total_duration": number,
  "content_duration": number,
  "valid_for": string,
  "valid_until": string,
  "subtitles": [object(Subtitle)],
  "hls_master_playlist": string,
  "stream_manifest": string,
  "media_verification_url": string,
  "apple_tv": object(AppleTV),
  "ad_breaks": [object(AdBreak)],
}
Campos
stream_id string

Identificador de transmisión.
total_duration number

Duración de la transmisión en segundos.
content_duration number

Duración del contenido, sin anuncios, en segundos.
valid_for string

La duración de la transmisión es válida, en "00h00m00s" .
valid_until string

Fecha en que es válida la transmisión, en formato RFC 3339
subtitles [object(Subtitle)]

Una lista de subtítulos. Se omite si está vacío. Solo para HLS.
hls_master_playlist string

(OBSOLETO) URL de playlist principal de HLS. Usa stream_manifest. Solo para HLS.
stream_manifest string

El manifiesto de la transmisión. Corresponde a la playlist principal en HLS y a la MPD en DASH. Es el único campo además de "stream_id" presente en la respuesta cuando crear una transmisión de balizas del servidor.
media_verification_url string

URL de verificación de medios.
apple_tv object(AppleTV)

Información opcional específica de los dispositivos AppleTV. Solo para HLS.
ad_breaks [object(AdBreak)]

Una lista de pausas publicitarias. Se omite si está vacío.

AppleTV

Apple TV contiene información específica sobre los dispositivos Apple TV.
Representación JSON
{
  "interstitials_url": string,
}
Campos
interstitials_url string

URL de anuncios intersticiales.

AdBreak

La pausa publicitaria describe una sola pausa publicitaria en la transmisión. Contiene una posición, una duración, un tipo (medio/previo/posterior) y una lista de anuncios.
Representación JSON
{
  "type": string,
  "start": number,
  "duration": number,
  "ads": [object(Ad)],
}
Campos
type string

Los tipos de pausa válidos son: medio, previo y posterior.
start number

Posición en la transmisión en la que comienza la pausa, en segundos.
duration number

Duración de la pausa publicitaria, en segundos.
ads [object(Ad)]

Es una lista de anuncios. Se omite si está vacío.
Un anuncio describe un anuncio en la transmisión. Contiene la posición del anuncio en el la pausa, la duración del anuncio y algunos metadatos opcionales.
Representación JSON
{
  "seq": number,
  "start": 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,
  "icons": [object(Icon)],
  "wrappers": [object(Wrapper)],
  "events": [object(Event)],
  "verifications": [object(Verification)],
  "universal_ad_id": object(UniversalAdID),
  "companions": [object(Companion)],
  "interactive_file": object(InteractiveFile),
  "skip_metadata": object(SkipMetadata),
}
Campos
seq number

La posición del anuncio en la pausa.
start number

Posición en la transmisión en la que comienza el anuncio, en segundos
duration number

Duración del anuncio, en segundos.
title string

Título opcional del anuncio.
description string

Descripción opcional del anuncio.
advertiser string

Identificador de anunciante opcional.
ad_system string

Sistema de anuncios opcional.
ad_id string

ID del anuncio opcional.
creative_id string

ID de la creatividad opcional.
creative_ad_id string

ID del anuncio con creatividad opcional.
deal_id string

ID del acuerdo opcional.
clickthrough_url string

URL de clic opcional.
icons [object(Icon)]

Una lista de íconos, que se omite si está vacía.
wrappers [object(Wrapper)]

Una lista de wrappers. Se omite si está vacío.
events [object(Event)]

Una lista de los eventos en el anuncio.
verifications [object(Verification)]

Entradas opcionales de verificación de Open Measurement que enumeran los recursos y los metadatos necesarios para ejecutar el código de medición de terceros para verificar la reproducción de creatividades.
universal_ad_id object(UniversalAdID)

ID del anuncio universal opcional.
companions [object(Companion)]

Complementos opcionales que pueden mostrarse junto con este anuncio.
interactive_file object(InteractiveFile)

Creatividad interactiva opcional (SIMID) que se debe mostrar durante la reproducción del anuncio
skip_metadata object(SkipMetadata)

Metadatos opcionales para los anuncios que se pueden omitir. Si se establece, indica que el anuncio se puede omitir e incluye instrucciones para manejar la IU de omisión evento de seguimiento y de seguimiento.

Evento

Event contiene el tipo de evento y la hora de presentación de un evento.
Representación JSON
{
  "time": number,
  "type": string,
}
Campos
time number

Horario de presentación de este evento
type string

Tipo de evento.

Subtítulo

El subtítulo describe una pista de subtítulos adicional para la transmisión de video por Internet. Almacena dos formatos de subtítulos: TTML y WebVTT. El atributo TTMLPath contiene la URL al archivo de archivo adicional TTML y el atributo WebVTTPath contiene de manera similar una URL al archivo adicional de WebVTT.
Representación JSON
{
  "language": string,
  "language_name": string,
  "ttml": string,
  "webvtt": string,
}
Campos
language string

Un código de idioma, como "en" o 'de'.
language_name string

Nombre descriptivo del idioma. Esto diferencia el conjunto específico de subtítulos si existen varios conjuntos para el mismo idioma
ttml string

URL opcional al archivo adicional TTML.
webvtt string

URL opcional al archivo adicional de WebVTT.

SkipMetadata

SkipMetadata proporciona la información necesaria para que los clientes controlen los eventos de omisión de los anuncios que se pueden omitir.
Representación JSON
{
  "offset": number,
  "tracking_url": string,
}
Campos
offset number

El desplazamiento indica la cantidad de tiempo en segundos que el reproductor permanece en el anuncio. debe esperar para renderizar el botón Omitir. Se omite si no se proporciona en la plantilla VAST.
tracking_url string

TrackingURL contiene una URL a la que se debe hacer ping en el evento de omisión.

Í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 un ícono.
Representación JSON
{
  "url": string,
}
Campos
url string

FallbackImage

FallbackImage contiene información sobre una imagen de resguardo 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 wrapper. No incluye un Es el 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 string

Es el identificador del sistema del anuncio.
ad_id string

Es el ID que se usa para el anuncio envolvente.
creative_id string

Es el ID de la creatividad que se usa para el anuncio envolvente.
creative_ad_id string

Es el ID de anuncio de la creatividad que se usa para el anuncio envolvente.
deal_id string

Es el ID del acuerdo opcional para el anuncio wrapper.

Verificación

La verificación contiene información de Open Measurement, lo que facilita la medición de visibilidad y 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 string

El 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 string

Una cadena opaca que se pasa al código de verificación de arranque.

JavaScriptResource

JavaScriptResource contiene información para la verificación mediante JavaScript.
Representación JSON
{
  "script_url": string,
  "api_framework": string,
  "browser_optional": boolean,
}
Campos
script_url string

URI a carga útil de JavaScript.
api_framework string

APIFramework es el nombre del framework de video que ejecuta el código de verificación.
browser_optional boolean

Si esta secuencia de comandos puede ejecutarse navegador.

TrackingEvent

TrackingEvent contiene URLs a las que el cliente debe hacer ping en ciertos situaciones.
Representación JSON
{
  "event": string,
  "uri": string,
}
Campos
event string

El tipo del evento de seguimiento.
uri string

El evento de seguimiento al que se debe hacer ping

UniversalAdID

UniversalAdID se usa para proporcionar un identificador de creatividad único en los sistemas de anuncios.
Representación JSON
{
  "id_value": string,
  "id_registry": string,
}
Campos
id_value string

Es el ID del anuncio universal de la creatividad seleccionada para el anuncio.
id_registry string

Una cadena que se usa para identificar la URL del sitio web de registro en la que se cataloga el ID de anuncio universal de la creatividad seleccionada.

Companion

El anuncio complementario contiene información de 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)

Datos de clics de este anuncio complementario.
creative_type string

El atributo CreativeType de la carpeta <StaticResource> en el anuncio de VAST Este es un anuncio complementario de tipo estático.
height int32

Es la altura en píxeles de este anuncio complementario.
width int32

Es el ancho en píxeles de este anuncio complementario.
resource string

Para los anuncios complementarios iframe y estáticos, esta será la URL que se cargará y que se muestra. Para los anuncios complementarios HTML, este será el fragmento HTML que se debe se mostrará como complementario.
type string

Tipo de este anuncio complementario. Puede ser estático, iframe o HTML.
ad_slot_id string

Es el ID del espacio de este anuncio complementario.
api_framework string

El framework de API para este complemento.
tracking_events [object(TrackingEvent)]

Es la lista de eventos de seguimiento de este complemento.

InteractiveFile

InteractiveFile contiene información para creatividades interactivas (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 string

La URL de la creatividad interactiva.
type string

Es el tipo de MIME del archivo proporcionado como recurso.
variable_duration boolean

Determina si esta creatividad puede solicitar una extensión de la duración.
ad_parameters string

El valor de <AdParameters> en VAST.