Cuando utilice la plataforma de DAI de Google, es posible que desee proporcionar datos de segmentación para la próxima pausa publicitaria lineal o en vivo de una transmisión. La pausa publicitaria anticipada La API de Notification (EABN) permite implementar una segmentación específica de la pausa mediante pares clave-valor, que proporcionan escalabilidad para la toma de decisiones sobre anuncios en grandes volúmenes transmisiones continuas.
Las llamadas realizadas a la API de EABN deben incluir la clave del recurso que se debe orientar y la la duración de la próxima pausa. La duración debe ser lo más cercana a la del anuncio real de corte. Si la duración prevista que se envía es menor que la de la pausa publicitaria, Tipo de relleno de pausa publicitaria sin completar (El valor predeterminado es una lista en blanco) se usa durante el resto de la pausa. Si el botón que la duración esperada enviada sea mayor que la de la pausa publicitaria proporcionada, es posible que finalizan antes de que se complete el anuncio.
Además de estos campos obligatorios, también puedes enviar segmentaciones personalizadas parámetros, el nombre de una plantilla de grupo de anuncios que se aplicará o datos de salida SCTE35, si 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
desde la Consola de APIs de Google,
siguiendo 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. Después Haz clic en CREAR.
Una vez que hayas creado correctamente una cuenta de servicio, copia el 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 la habilite la API de EABN para esa cuenta.
Habilite la API de DAI
Una vez que se haya habilitado la API de EABN para su cuenta de servicio, habilite la API de DAI en la cuenta:
En la biblioteca de APIs 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 con solicitudes JSON/REST.
Autenticación
Para hacer llamadas autenticadas a la API de EABN, debes generar el servicio OAuth2
las credenciales de tu cuenta de servicio con la clave JSON de tu cuenta de servicio
https://www.googleapis.com/auth/video-ads
Para obtener más información, consulta
Uso de OAuth 2.0 para aplicaciones de servidor a servidor.
Deben incluir el token de autenticación resultante como encabezado Auth para cada llamada a la API de EABN.
Cómo enviar una notificación de pausa publicitaria antes de lo planificado
Para enviar una notificación de pausa publicitaria anticipada, envía una solicitud POST mediante los siguientes parámetros: URL y cuerpo de la solicitud:
POST dai.googleapis.com/v1/adBreaks
Cuerpo de la solicitud
Objeto | ||
---|---|---|
adBreak |
Obligatorio | El objeto wrapper para las propiedades adBreak |
assetKey |
Obligatorio | Un identificador único para el LiveStreamEvent para el cual el
se crea una pausa |
expectedDuration |
Obligatorio | Es la duración de esta pausa publicitaria con el formato de duración estándar de Google. (xx.xxx donde xx.xxx es el número 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 las opciones personalizadas
segmentación por criterios en AM360, separada por = y unida por
& .Ejemplo: key=value&key2=value2,value3 Para obtener más información sobre la segmentación, consulta Orientación por suministro parámetros 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 la DAI interna
identificador de 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)