La API para la inserción de anuncios dinámicos (DAI) permite el acceso a transmisiones monetizadas en las que el SDK de IMA no es compatible (por ejemplo, smart TVs). El SDK de IMA es obligatorio en las plataformas donde está disponible. La API admite todas las funciones de DAI existentes, pero es necesario que el publicador las implemente.
Requisitos para usar la API
Las siguientes funcionalidades requieren la implementación del publicador cuando se usa la API:
- Acceso a la transmisión de DAI a través del extremo HTTP y procesamiento de respuestas JSON
- Construcción de parámetros de API y pares clave-valor de orientación
- Implementación de las experiencias del usuario (por ejemplo, íconos y clics)
- Opción de escuchar eventos ID3 en el reproductor para implementar controles del reproductor y seguimiento/medición de anuncios para VOD y transmisión lineal en vivo
- Implementación de comportamientos de arrastre, restablecimientos automáticos y funciones de favoritos
- Selección de formatos de transmisión: HLS o DASH
Puedes usar la siguiente información sobre cómo solicitar y procesar transmisiones a través de la API para videos on demand o transmisiones lineales en vivo.
Video on demand (VOD)
La API de VOD sigue un ciclo de vida simple desde la creación de la transmisión hasta la verificación de la reproducción de anuncios:
-
Solicite una transmisión con HTTP POST mediante el ID de fuente del contenido (
cmsid
) y el ID de video (vid
), con clave de API o token de HMAC, y parámetros de orientación de anuncios.https://dai.google.com/ondemand/v1/hls/content/<contentId>/vid/<vid>/stream
-
Procese la respuesta para el manifiesto de reproducción de contenido, los subtítulos, la pausa publicitaria y la información sobre los tiempos del contenido.
{
"content_duration": 123.451,
"stream_manifest": "https://dai.google.com/.../master.m3u8",
"media_verification_url": "https://dai.google.com/.../media/",
"stream_id": "9ca0c62a-3291-4f95-986f-d1721f8b96f0",
"total_duration": 163.451,
"valid_for": "8h0m0s",
"valid_until": "2018-05-16T23:21:16.558053292-07:00",
"ad_breaks": [...]
}
-
Para cada pausa publicitaria, procese los detalles de los elementos del anuncio individual, como la información de la duración de la pausa publicitaria, los anuncios complementarios y la tasa de clics, con respecto a la renderización de la IU.
{
"clickthrough_url": "https://dai.google.com/.../videoclick/1835622921898938400",
"description": "Example pre-roll ad",
"duration": 10,
"seq": 1,
"title": "Example pre-roll"
}
-
En cada anuncio, active la
media_verification_url
con el valor de ID3 agregado de la reproducción de medios del anuncio.https://dai.google.com/view/p/service/vod/stream/3647080d-c223-442e-a364-c456ee712ece/loc/CBF/network/124319096/content/2474148/vid/bbb-clear/media/
Los eventos Progress se proporcionan para diferenciar la reproducción dentro y fuera de una pausa publicitaria, y no tienen ningún otro propósito de seguimiento de anuncios.
Para identificar eventos Progress, busca el identificador multimedia en el archivo JSON de metadatos y verifica que el campo type
esté configurado como progress
. El evento Progress ID3 se puede usar, por ejemplo, para bloquear los controles de video.
Transmisiones lineales en vivo
La API de transmisión lineal sigue un ciclo de vida simple desde la creación de la transmisión hasta la verificación de la reproducción de anuncios:
-
Solicite una transmisión con HTTP POST mediante el ID del evento, con la clave de API o el token de HMAC, y los parámetros de orientación de anuncios.
https://dai.google.com/linear/v1/hls/event/<eventid>/stream
https://dai.google.com/linear/v1/dash/event/<eventid>/stream -
Procese la respuesta para el manifiesto de reproducción de contenido, los subtítulos, la pausa publicitaria y la información sobre los tiempos del contenido.
{
"stream_manifest": "https://dai.google.com/linear/.../master.m3u8",
"media_verification_url": "https://dai.google.com/linear/.../media/",
"metadata_url": "https://dai.google.com/linear/.../metadata",
"polling_frequency": 10,
"stream_id": "793bf10c-2323-404d-b23b-0a529d96e651:MRN",
}
-
Solicite los metadatos del anuncio en la frecuencia de sondeo o para cada ID de contenido multimedia de anuncios ID3, y agregue el ID de contenido multimedia de anuncios a la URL de metadatos en un parámetro de consulta.
{
"ad_breaks": {
"0001127859": {
"ads": 3,
"duration": 30,
"type": "mid"
}
},
"ads": {
"0001127859_ad2": {
"ad_break_id": "0001127859",
"ad_id": "39135088",
"ad_system": "GDFP",
"clickthrough_url": "http://pubads.g.doubleclick.net/pcs/click?...",
"creative_id": "103990016608",
"description": "Example linear 10s ad",
"duration": 10,
"position": 2,
"title": "Example linear ad"
}
},
"tags": {
"google_0028792773": {
"ad": "0001127859_ad2",
"ad_break_id": "0001127859",
"type": "firstquartile"
}, ...
}
}
-
En cada anuncio, active la
media_verification_url
con el valor de ID3 agregado de la reproducción de medios del anuncio.https://dai.google.com/view/p/service/linear/stream/f0b8970b-cacb-4a9f-83ee-2ef29db47129:CBF2/loc/CBF2/network/51636543/event/sN_IYUG8STe1ZzhIIE_ksA/media/
Los eventos Progress se proporcionan para diferenciar la reproducción dentro y fuera de una pausa publicitaria, y no tienen ningún otro propósito de seguimiento de anuncios.
Para identificar eventos Progress, busca el identificador multimedia en el archivo json de metadatos y verifica que el campo type
esté configurado como progress
. El evento Progress ID3 se puede usar, por ejemplo, para bloquear los controles de video.
Cómo detectar cuándo una pausa publicitaria comenzó o finalizó en la transmisión mediante la API de DAI
La DAI inserta metadatos de ID3 para eventos de cuartiles (como inicio, primer cuartil, punto medio, tercer cuartil y finalización) en segmentos de anuncios y eventos de progreso (cada un segundo) en segmentos de anuncios y de listas. Cuando se observa por primera vez cualquiera de esas etiquetas de ID3, se puede generar el evento de "pausa publicitaria iniciada". Después de eso, si no se encuentran tales etiquetas de ID3, por ejemplo, durante 2.5 segundos, se puede generar la "pausa publicitaria finalizada". Las etiquetas de ID3 insertadas con DAI se pueden identificar por su prefijo "google_
" y su presencia en el archivo JSON de metadatos.
Actualiza de forma dinámica los parámetros de segmentación o los pares clave-valor por transmisión del usuario
La session_update_url
se puede usar para reemplazar todos los parámetros de etiquetas de anuncios que se emplean para las solicitudes de próximos anuncios de una transmisión en vivo (similar a replaceAdTagParameters
). Esto es útil en los casos en que la información de segmentación debe actualizarse por programa y por usuario (por ejemplo, para deportes en vivo en los que la segmentación no se conoce con anticipación).