La API de inserción de anuncios dinámicos le permite solicitar transmisiones en vivo de DAI y hacer un seguimiento de ellas.
Servicio: dai.google.com
Todos los URI están relacionados con https://dai.google.com
.
Método: stream
Métodos | |
---|---|
stream |
POST /ssai/pods/api/v1/network/{network_code}/custom_asset/{custom_asset_key}/stream
Registra una sesión de transmisión en vivo del grupo de anuncios de DAI de la DAI. |
Solicitud HTTP
POST https://dai.google.com/ssai/pods/api/v1/network/{network_code}/custom_asset/{custom_asset_key}/stream
Parámetros de ruta
Parámetros | |
---|---|
network_code |
string
Es el código de red de Google Ad Manager del publicador. |
custom_asset_key |
string
Es el identificador personalizado asociado a este evento en Google Ad Manager. |
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 | ||
---|---|---|
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 se ejecuta correctamente, el cuerpo de la respuesta contiene un nuevo objeto Stream
.
Open Measurement
La API de DAI contiene información para la verificación de Open Measurement en el
Verifications
. Este campo contiene uno o más
Elementos Verification
que enumeran los recursos y metadatos necesarios para la ejecución
código de medición de terceros para verificar la reproducción de creatividades. Solo
JavaScriptResource
es compatible. Para obtener más información, consulta la
IAB Tech Lab y el
Especificaciones de VAST 4.1.
Método: Pod segment
Métodos | |
---|---|
pod segment |
GET /linear/pods/v1/seg/network/{network_code}/custom_asset/{custom_asset_key}/pod/{pod_id}/profile/{profile_name}/{segment_number}.{segment_format}
Crea una transmisión de DAI para el ID del evento determinado. |
Solicitud HTTP
GET https://dai.google.com//linear/pods/v1/seg/network/{network_code}/custom_asset/{custom_asset_key}/pod/{pod_id}/profile/{profile_name}/{segment_number}.{segment_format}
Parámetros de ruta
Parámetros | |
---|---|
network_code |
string
Es el código de red de Google Ad Manager del publicador. |
custom_asset_key |
string
Es el identificador personalizado asociado a este evento en Google Ad Manager. |
pod_id |
integer
Es el identificador numérico de la pausa publicitaria actual. Los IDs de grupos de anuncios son se asigna de forma incremental para cada evento, a partir de 1. |
profile_name |
string
El Nombre de los solicitados Perfil de codificación de DAI de Google Ad Manager. El perfil de codificación debe ser uno de los perfiles de codificación configurados para el evento seleccionado. |
segment_number |
integer
El índice del segmento solicitado dentro del grupo de anuncios actual, a partir del en cero. |
segment_format |
string
La extensión de archivo asociada con el formato del segmento solicitado.
Se aceptan las siguientes extensiones: |
Parámetros de consulta
Parámetros | ||||||
---|---|---|---|---|---|---|
stream_id |
required |
string
Es el ID de transmisión de la sesión del usuario actual. Este valor lo devuelve
una solicitud correcta al extremo |
||||
sd |
required1
|
integer
Es la duración del segmento solicitado en milisegundos. |
||||
so |
opcional |
Es el desplazamiento del segmento solicitado dentro del grupo de anuncios, en milisegundos.
Si omites el parámetro |
||||
pd |
obligatorio2 |
integer
Es la duración del grupo de anuncios, expresada en milisegundos. |
||||
auth-token |
required |
string
Una dirección de correo electrónico firmada y codificada en URL Token HMAC para el grupo de anuncios actual. |
||||
last |
opcional |
boolean
Indica el último segmento de la pausa publicitaria. Omitir este parámetro para todas otros segmentos. |
||||
scte35 |
opcional |
string
Señal SCTE-35 con codificación base64 para esta pausa publicitaria. |
||||
cust_params |
opcional |
string
Es un conjunto de pares clave-valor que se usan para la segmentación de campañas de Ad Manager. Estos se deben representar como una cadena de consulta codificada para URL. Ejemplo:
|
Pies de página
-
No se requiere
sd
para los segmentos de inicialización. ↩ -
No se requiere
pd
para los eventos con anuncios sin duración de restablecimientos. ↩
Cuerpo de la respuesta
Si el proceso es satisfactorio, el cuerpo de la respuesta será un segmento de la transmisión reproducible que coincida con el el formato y los parámetros especificados en la solicitud.
Método: Plantilla de período de grupo de anuncios de DASH
Métodos | |
---|---|
pods |
GET /linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset_key}/pods.json
Solicita una plantilla de período de DASH a Google Ad Manager. Esta plantilla contiene macros que debes propagar con tus parámetros de transmisión. Una vez estas macros se propagan, la plantilla se convierte en el período de la pausa publicitaria pueden incorporarse al manifiesto de DASH. |
Solicitud HTTP
GET https://dai.google.com/linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset_key}/pods.json
Parámetros de ruta
Parámetros | |
---|---|
network_code |
string
Es el código de red de Google Ad Manager del publicador. |
custom_asset_key |
string
Es el identificador personalizado asociado a este evento en Google Ad Manager. |
Parámetros de consulta
Parámetros | ||
---|---|---|
stream_id |
required |
string
Es el ID de transmisión de la sesión del usuario actual. Este valor lo devuelve
una solicitud correcta al extremo |
Cuerpo de la respuesta
Si el proceso es satisfactorio, el cuerpo de la respuesta contiene un nuevo
Objeto PodTemplateResponse
.
Método: verificación de contenido multimedia
Después de encontrar un identificador de contenido multimedia de anuncios durante la reproducción, crea una solicitud con la media_verification_url que se obtuvo de la transmisión extremo, como se muestra más arriba. Estas solicitudes no son necesarias para el contador de píxeles del servidor de transmisión, 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 https://{media-verification-url}/{ad-media-id}
Cuerpo de la respuesta
media verification
devuelve las siguientes respuestas:
HTTP/1.1 204 No Content
si la verificación de medios se realiza correctamente y todos los pings se enviados.HTTP/1.1 404 Not Found
si la solicitud no puede verificar el contenido multimedia debido a El formato o el vencimiento de la URL son incorrectos.HTTP/1.1 404 Not Found
si una solicitud de verificación anterior para este ID sin errores.HTTP/1.1 409 Conflict
si ya se envían pings a esta solicitud tiempo.
IDs de medios de anuncios
Los identificadores multimedia del anuncio se codificarán en una pista de metadatos independiente (con marcas de tiempo)
metadatos para la transmisión de transporte HLS
o emsg para archivos mp4. Identificadores de medios de anuncios
siempre comenzará con la cadena google_
.
Todo el contenido de texto de la entrada de metadatos se debe agregar al anuncio. URL de verificación antes de realizar cada solicitud de verificación de anuncio.
Método: metadata
El extremo de metadatos en metadata_url
muestra información usada para crear un anuncio
de la IU de Google. El extremo de metadatos no está disponible para transmisiones
de balizas del servidor
en el que el servidor es responsable de iniciar la verificación de medios del anuncio.
Métodos | |
---|---|
metadata |
GET /{metadata_url}/{ad-media-id} GET /{metadata_url}
Recupera información de los metadatos de los anuncios. |
Solicitud HTTP
GET https://{metadata_url}/{ad-media-id}
GET https://{metadata_url}
Cuerpo de la respuesta
Si no hay errores, la respuesta muestra una instancia de
PodMetadata
Análisis de metadatos
Los metadatos tienen tres secciones discretas: tags
, ads
y el anuncio breaks
. Entrada
los datos es la sección tags
. A partir de ahí, itera las etiquetas.
y busca la primera entrada cuyo nombre sea un prefijo para el
ID de contenido multimedia del anuncio que se encuentra en la transmisión de video por Internet. Por ejemplo,
podría tener un ID de medios de anuncios similar a este:
google_1234567890
Luego, encuentras un objeto de etiqueta llamado google_12345
. En este caso, coincide con tu
ID de medios de anuncios Una vez que encuentres el objeto del prefijo de medios de anuncios correcto, podrás buscar
los IDs de anuncios, los 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
Transmitir
La transmisión se usa para renderizar una lista de recursos para una transmisión recién creada en JSON.Representación JSON |
---|
{ "stream_id": string, "media_verification_url": string, "metadata_url": string, "session_update_url": string, "heartbeat_url": string, "polling_frequency": number, "pod_manifest_url": string, "manifest_format": string, } |
Campos | |
---|---|
stream_id |
string El identificador de transmisión de GAM. |
media_verification_url |
string Es la URL de verificación de contenido multimedia que se usa como extremo base para hacer un seguimiento de los eventos de reproducción. |
metadata_url |
string URL de metadatos que se usa para consultar información periódica sobre los próximos eventos de anuncios de transmisión. |
session_update_url |
string Es la URL de actualización de la sesión que se utiliza 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 transmisión. |
heartbeat_url |
string La URL de señal de monitoreo de funcionamiento, que se utiliza para mantener activa la transmisión del contador del contador del servidor se debe hacer ping cada {PollingFrequency} segundos. Se propaga para las transmisiones de balizas del servidor. |
polling_frequency |
number La frecuencia de sondeo, en segundos, cuando se solicita metadata_url o Heartbeat_url. |
pod_manifest_url |
string La plantilla de URL del manifiesto del Pod se usa para generar la URL que se usará para recuperar el manifiesto del Pod de la transmisión. correspondiente a la URL de la playlist de múltiples variantes en HLS o a la MPD en DASH. Se propaga para los eventos de transmisión en vivo del tipo inserción de anuncios dinámicos POD_SERVING_MANIFEST. https://developers.google.com/ad-manager/api/reference/v202305/LiveStreamEventService.DynamicAdInsertionType |
manifest_format |
string El formato del manifiesto es el formato del manifiesto recuperado de pod_manifest_url, ya sea guion o HL. |
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)], } |
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 pausas publicitarias indexadas por ID de pausa publicitaria. |
TagSegment
TagSegment contiene una referencia a un anuncio, su pausa publicitaria y el tipo de evento. TagSegment con type="progress" No se debe hacer ping al contenido multimedia del anuncio. extremo de verificación.Representación JSON |
---|
{ "ad": string, "ad_break_id": string, "type": string, } |
Campos | |
---|---|
ad |
string El ID del anuncio de esta etiqueta. |
ad_break_id |
string El ID de la pausa publicitaria de esta etiqueta |
type |
string Es el tipo de evento de esta etiqueta. |
AdBreak
La pausa publicitaria describe una sola pausa publicitaria en la transmisión. Contiene una duración, un tipo (medio/previo/posterior) y la cantidad de anuncios.Representación JSON |
---|
{ "type": string, "duration": number, "expected_duration": number, "ads": number, } |
Campos | |
---|---|
type |
string Los tipos de pausa válidos son los siguientes: antes, durante y después. |
duration |
number Es la duración total del anuncio para esta pausa publicitaria, en segundos. |
expected_duration |
number Duración esperada de la pausa publicitaria (en segundos), incluidos todos los anuncios y cualquier cortinilla de video. |
ads |
number Es la cantidad de anuncios en la pausa publicitaria. |
Anuncio
Un 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 |
string El ID de la pausa publicitaria de este anuncio. |
position |
number La posición de este anuncio en la pausa publicitaria, a partir de 1 |
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. |
click_tracking_urls |
string URL de seguimiento de clics opcionales. |
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. |
slate |
boolean Bool opcional que indica que la entrada actual es de cortinilla de video. |
icons |
[object(Icon)] Una lista de íconos, que se omite si está vacía. |
wrappers |
[object(Wrapper)] Una lista de wrappers, que se omite si está vacía. |
universal_ad_id |
object(UniversalAdID) ID del anuncio universal opcional. |
extensions |
string Lista opcional de todas las extensiones de <Extension> nodos en VAST. |
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 |
PodTemplateResponse
PodTemplateResponse representa la carga útil de JSON que se muestra a un VTP para la unión de Pods.Representación JSON |
---|
{ "dash_period_template": string, "segment_duration_ms": int64, } |
Campos | |
---|---|
dash_period_template |
string DashPeriodTemplate es la plantilla XML para el período que se completará con los datos adecuados antes de la unión. |
segment_duration_ms |
int64 SegmentDurationMS es la duración de los segmentos del período en milisegundos. |
Í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. |