Cuando uses la plataforma de la DAI de Google, te recomendamos que proporciones datos de segmentación para la próxima pausa publicitaria lineal o en vivo de una transmisión. La API de Early Ad Break Notification (EABN) te permite implementar la segmentación específica de pausas mediante pares clave-valor, lo que proporciona escalabilidad para tomar decisiones sobre anuncios en transmisiones de gran volumen.
Las llamadas realizadas a la API de EABN deben incluir la clave del recurso que se debe segmentar y la duración esperada de la siguiente pausa. La duración debe ser lo más cercana posible a la duración real de la pausa publicitaria. Si la duración esperada enviada es más corta que la pausa publicitaria proporcionada, se usa el tipo de relleno de pausa publicitaria sin completar (de forma predeterminada, es una cortinilla de video en blanco) para el resto de la pausa. Si la duración esperada enviada es mayor que la pausa publicitaria proporcionada, esta puede finalizar antes de que se complete el anuncio.
Además de estos campos obligatorios, también puedes enviar parámetros de segmentación personalizados, el nombre de una plantilla de grupo de anuncios para aplicar o datos del desplazamiento de SCTE35, si están disponibles.
Requisitos previos
Crea una cuenta de servicio
Para acceder a la API de EABN, necesitas una cuenta de servicio de Google.
- Si tienes una cuenta de Google Cloud, puedes usar el módulo de IAM para crear una cuenta de servicio. Para obtener más información, consulta Crea y administra cuentas de servicio.
- Si no tienes una cuenta de Google Cloud, puedes crear una en la Consola de API de Google. Para ello, sigue estos pasos:
- Crea un proyecto nuevo o selecciona uno existente.
- En la página Credenciales, haz clic en Administrar cuentas de servicio.
- En la página Cuentas de servicio, haz clic en CREAR CUENTA DE SERVICIO.
- En la página Crear cuenta de servicio, ingresa los detalles de la cuenta. Luego, haz clic en CREAR.
Una vez que hayas creado correctamente una cuenta de servicio, copia la clave JSON de la cuenta, que se usará para la autenticación.
Habilita la API de EABN
Una vez que se haya creado la cuenta de servicio, pídele a tu administrador de cuentas que habilite la API de EABN para esa cuenta.
Cómo habilitar la API de DAI
Una vez que se haya habilitado la API de EABN en tu cuenta de servicio, habilita la API de DAI en la cuenta:
En la biblioteca de la API de Google, busca "API de DAI".
Seleccione y habilite la API de DAI.
Usa la API de EABN
Puedes llamar a la API de EABN mediante solicitudes JSON/REST.
Autenticación
Para realizar llamadas autenticadas a la API de EABN, debes generar credenciales de cuenta de servicio de OAuth2 con la clave JSON de tu cuenta de servicio y el permiso https://www.googleapis.com/auth/video-ads
. Si quieres obtener más información, consulta Usa OAuth 2.0 para aplicaciones de servidor a servidor.
Se debe incluir el token de autenticación resultante como un encabezado de Auth para cada llamada a la API de EABN.
Envío de una notificación anticipada de pausa publicitaria
Para enviar una notificación de pausa publicitaria antes de lo planificado, envía una solicitud POST mediante la siguiente URL y el cuerpo de la solicitud:
POST dai.googleapis.com/v1/adBreaks
Cuerpo de la solicitud
Objeto | ||
---|---|---|
adBreak |
Obligatorias | El objeto wrapper para las propiedades adBreak |
assetKey |
Obligatorias | Un identificador único para el LiveStreamEvent para el que se crea la pausa |
expectedDuration |
Obligatorias | Es la duración de esta pausa publicitaria con el formato de duración estándar de Google (xx.xxxs en el que xx.xxx es la cantidad de segundos). |
scte35CueOut |
Opcional | Datos codificados en Base-64 a partir del indicador de scte35. Puede incluir el comando splice_insert() o time_signal() .
Ejemplos:
|
custParams |
Opcional | Pares clave-valor que se incluirán en las solicitudes de anuncios de esta pausa para la
segmentación de criterios personalizados en AM360, separados por = y unidos por
& .Ejemplo: key=value&key2=value2,value3 Si deseas obtener más información sobre la segmentación, consulta Cómo proporcionar parámetros de segmentación a tu transmisión. |
ptpln |
Opcional | El nombre de la plantilla del grupo de anuncios |
Encabezado de respuesta
HTTP/1.1 200 OK
Cuerpo de la respuesta
El cuerpo de la respuesta contiene todos los parámetros enviados en el objeto adBreak
, así como un campo daiBreakId
adicional, que contiene el identificador de DAI interno para la pausa publicitaria creada dentro de la transmisión.
Ejemplo
Solicitud
POST /v1/adBreaks HTTP/1.1
Content-Type: application/json
{
"adBreak": {
"assetKey": "asset1",
"expectedDuration": "30s",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"custParams": "param1=value1¶m2=value2",
"ptpln": "podtemplate"
}
}
Respuesta
HTTP/1.1 200 OK
{
"assetKey": "asset1",
"expectedDuration": "30s",
"custParams": "param1=value1¶m2=value2",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"ptpln": "podtemplate",
"daiBreakId": 1
}
Implementación de muestra (Python)
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from absl import app
from google.auth.transport.requests import AuthorizedSession
from google.oauth2 import service_account
SERVICE_ACCOUNT_KEY_FILE = "~/eabn_key.json"
ASSET_KEY = "asset1"
SCOPES = ['https://www.googleapis.com/auth/video-ads']
EABN_API_URL = 'https://dai.googleapis.com/v1/adBreaks'
def main():
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_KEY_FILE, scopes=SCOPES)
authed_session = AuthorizedSession(credentials)
data = {
'assetKey': ASSET_KEY,
'expectedDuration': '120s',
'custParams': 'param1=value1¶m2=value2',
'scte35CueOut': '/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==',
}
r = authed_session.post(EABN_API_URL, json={'adBreak': data})
print(r.status_code)
print(r.headers)
print(r.text)
if __name__ == '__main__':
app.run(main)