La API de DAI Ad Break te permite crear y administrar los datos de segmentación de anuncios y la sincronización de las pausas publicitarias en tus transmisiones en vivo.
En esta guía, se explica cómo usar la API de DAI Ad Break para crear, actualizar y borrar una pausa publicitaria para un evento de transmisión en vivo de la inserción de anuncios dinámicos (DAI) de Google.
Requisitos previos
Para usar la API de DAI Ad Break, necesitas lo siguiente:
- Un proyecto de Google Cloud con el servicio
admanagervideo.googleapis.comhabilitado. Para obtener más información, consulta Crea un proyecto de Cloud. - Una red de Google Ad Manager con un evento de transmisión en vivo de DAI de Google Para obtener más información, consulta Cómo configurar una transmisión en vivo para la DAI.
Configura el acceso a la API
Para habilitar la API, completa los siguientes pasos:
- Crea una cuenta de servicio. Para obtener más información, consulta Crea una cuenta de servicio.
- Agrega la cuenta de servicio a tu red de Google Ad Manager. Para obtener más información, consulta Agrega un usuario de cuenta de servicio para acceder a la API.
- Proporciona la dirección de correo electrónico de la cuenta de servicio y el código de tu red de Google Ad Manager a tu administrador de cuentas de Google.
- Habilita la API de Google Ad Manager Video en tu proyecto de Google Cloud. Para obtener más información, consulta Habilita "APIs y servicios" para tu app.
Autenticación con OAuth2
Para autorizar tus solicitudes a la API, sigue estos pasos:
- Genera el token de acceso con el alcance
https://www.googleapis.com/auth/video-ads. - En cada solicitud, incluye el token de acceso a la API como un valor de
Authorizationdel encabezado HTTPBearer. Para obtener más información, consulta Cómo llamar a las APIs de Google.
En el siguiente ejemplo, se genera un token de OAuth con el alcance de la API de DAI Ad Break:
gcloud auth print-access-token --scopes='https://www.googleapis.com/auth/video-ads'
Si la operación se realiza correctamente, verás el siguiente token de acceso:
ya29.c.c0ASRK0GYUYU0...
Realiza la primera solicitud
Para recuperar las pausas publicitarias de un evento de transmisión en vivo, usa el método GET para enumerar todas las entidades AdBreak por la clave de activo generada por el sistema del evento o tu clave de activo personalizada.
La API de DAI Ad Break solo devuelve entidades AdBreak que se crean a través de la API, lo que excluye las pausas publicitarias creadas a partir de la solicitud de manifiesto, la solicitud de segmento de grupo o la solicitud de manifiesto de grupo.
En el siguiente ejemplo de solicitud, se enumeran las entidades AdBreak según un valor de assetKey:
curl -X GET "https://admanagervideo.googleapis.com/v1/adBreak/networks/NETWORK_CODE/assets/ASSET_KEY/adBreaks" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer OAUTH_TOKEN"
Si se ejecuta correctamente, verás la siguiente respuesta JSON:
{
"adBreaks": []
}
A medida que creas entidades AdBreak adicionales a través de la API y solicitas la lista, verás la siguiente respuesta JSON:
{
"adBreaks": [
{
"name": "networks/.../assets/.../adBreaks/bcc402a6-9880-4b8b-8e4a-a8cd3688f854",
"expectedDuration": "30s",
"expectedStartTime": "2025-06-03T15:00:00Z",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"customParams": "param1=value1¶m2=value2",
"podTemplateName": "podtemplate"
"breakState": "BREAK_STATE_SCHEDULED",
},
{
"name": "networks/.../assets/.../adBreaks/cc68b0df-0257-46e7-8193-254060b6256c",
"breakSequence": "1",
"expectedDuration": "30s",
"expectedStartTime": "2025-06-03T14:30:00Z",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"customParams": "param1=value1¶m2=value2",
"podTemplateName": "podtemplate"
"breakState": "BREAK_STATE_COMPLETE",
},
…
],
"nextPageToken": "ChAIARIMCNDn97IGEJbhhYUC"
}
Crea una entidad AdBreak
Para informar a la DAI de Google sobre una próxima pausa publicitaria en un evento de transmisión en vivo, usa el método POST.
- Para crear una entidad
AdBreaknueva, debes esperar a que la anterior pase al estadoBREAK_STATE_COMPLETE. - Como alternativa, puedes borrar la entidad
AdBreakpendiente para crear una nueva. - Para crear más de una entidad
AdBreakpara un solo evento de transmisión en vivo, comunícate con tu administrador de cuentas para obtener información sobre la configuración avanzada.
En el siguiente ejemplo de solicitud, se crea una pausa publicitaria que se espera que comience el 3 de junio de 2025 a las 15:00:00 (UTC):
curl -X POST "https://admanagervideo.googleapis.com/v1/adBreak/networks/{NETWORK_CODE}/assets/ASSET_KEY/adBreaks" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer OAUTH_TOKEN" \
-d '{
"expectedDuration": "30s",
"expectedStartTime": "2025-06-03T15:00:00Z",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"customParams": "param1=value1¶m2=value2",
"podTemplateName": "podtemplate"
}'
Si se ejecuta correctamente, verás la siguiente respuesta JSON:
{
"name": "networks/.../assets/.../adBreaks/bcc402a6-9880-4b8b-8e4a-a8cd3688f854",
"expectedDuration": "30s", "expectedStartTime": "2025-06-03T15:00:00Z",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"customParams": "param1=value1¶m2=value2",
"podTemplateName": "podtemplate"
"breakState": "BREAK_STATE_SCHEDULED",
}
El resultado contiene el ID de la pausa publicitaria necesario para recuperar, modificar o borrar la pausa publicitaria. En la respuesta de ejemplo, el ID del corte publicitario creado es bcc402a6-9880-4b8b-8e4a-a8cd3688f854.
Recupera una entidad AdBreak
Usa el método GET para recuperar los detalles de una entidad AdBreak específica, incluidos el estado de la pausa publicitaria y los metadatos de sincronización.
curl -X GET \
'https://admanagervideo.googleapis.com/v1/adBreak/networks/NETWORK_CODE/assets/ASSET_KEY/adBreaks/AD_BREAK_ID' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer OAUTH_TOKEN'
Si se ejecuta correctamente, verás la siguiente respuesta JSON:
{
"name": "networks/.../assets/.../adBreaks/bcc402a6-9880-4b8b-8e4a-a8cd3688f854",
"expectedDuration": "30s",
"expectedStartTime": "2025-06-03T15:10:00Z",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"customParams": "param1=value1¶m2=value2",
"podTemplateName": "podtemplate"
"breakState": "BREAK_STATE_SCHEDULED",
}
Actualiza una entidad de AdBreak
Para modificar una próxima pausa publicitaria antes de que comience la decisión del anuncio, usa el método PATCH:
curl -X PATCH 'https://admanagervideo.googleapis.com/v1/adBreak/networks/NETWORK_CODE/assets/ASSET_KEY/adBreaks/AD_BREAK_ID' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer OAUTH_TOKEN' \
-d '{"expectedStartTime": "2025-06-03T15:10:00Z"}'
Si se ejecuta correctamente, verás la siguiente respuesta JSON:
{
"name": "networks/.../assets/.../adBreaks/bcc402a6-9880-4b8b-8e4a-a8cd3688f854",
"expectedDuration": "30s",
"expectedStartTime": "2025-06-03T15:10:00Z",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"customParams": "param1=value1¶m2=value2",
"podTemplateName": "podtemplate"
"breakState": "BREAK_STATE_SCHEDULED",
}
Borra una entidad de AdBreak
Usa el método DELETE para cancelar la decisión del anuncio de una pausa publicitaria creada a través de la API antes de que comience a publicarse.
En el siguiente ejemplo de solicitud, se borra una pausa publicitaria:
curl -X DELETE 'https://admanagervideo.googleapis.com/v1/adBreak/networks/NETWORK_CODE/assets/ASSET_KEY/adBreaks/AD_BREAK_ID' \
-H 'Authorization: Bearer OAUTH_TOKEN'
Si se ejecuta correctamente, verás la respuesta HTTP/1.1 200 OK.
Más información sobre las funciones avanzadas de las pausas publicitarias
Después de crear y administrar las pausas publicitarias, explora estas funciones de la API de Ad Break de DAI:
- Para mejorar la tasa de relleno y realizar la integración con sistemas de anuncios de terceros, consulta Cómo admitir etiquetas de anuncios dinámicos.
- Administra la duración de la pausa publicitaria y del segmento.