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.
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 |
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. |
Anuncio
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. |