La inserción de anuncios guiada por el servidor (SGAI) proporciona un manifiesto del grupo de anuncios listo para uniendo dispositivos cliente. Si habilitaste la DAI de Publicación de grupos de anuncios en tu de Ad Manager, tendrás acceso para usar SGAI. Si no tienes Pod Serving Si la DAI está habilitada, comuníquese con su administrador de cuentas.
Con SGAI, debes usar los extremos de la API de Pod Serving para crear una transmisión los metadatos de anuncios y los manifiestos del grupo de anuncios.
Si tienes un servidor de manipulación de manifiestos, puedes generar el grupo de anuncios las URLs del manifiesto y también inserta marcadores de anuncios que tienen la información del manifiesto del grupo de anuncios. en tu transmisión de contenido, según tu especificación preferida.
También puedes programar una pausa publicitaria con otro mecanismo que no sea que los marcadores de anuncios en el manifiesto de transmisión. En estos casos, la app puede escuchar a otros eventos, como la interacción del usuario con la transmisión, la app en sí, o una notificación push. Después de estos eventos, la app puede generar el anuncio las URLs del manifiesto del Pod de anuncios y le indicas al reproductor que debe comenzar a cargar ese manifiesto.
Requisitos previos
Antes de continuar, asegúrate de tener lo siguiente:
- La publicación de grupos de anuncios de DAI habilitada en su red de Google Ad Manager.
- Un evento de transmisión en vivo con el tipo Manifiesto de publicación de Pods Para crear el evento, ver Configura una transmisión en vivo para DAI.
Sigue las recomendaciones
Antes de ti generar la URL del manifiesto del grupo de anuncios, te recomendamos Llamas a la API de Early Ad Break Notification (EABN) para especificar la duración esperada, la información de segmentación y otras parámetros de cada pausa publicitaria.
En el caso de las transmisiones de producción y prueba, llama a la API de EABN, en especial si red tiene campañas programáticas. Para obtener más información, consulta Funciones y lineamientos de Programática directa
Cómo realizar una solicitud de registro de transmisión
Cuando un usuario inicia una transmisión de contenido en tu app de reproducción de video, realizas una transmisión solicitud de registro con parámetros de segmentación para crear una sesión de transmisión en Ad Manager. Para obtener detalles sobre cómo realizar una solicitud de registro de transmisión, consulta Method:stream. Posteriormente, recibirás datos de respuesta de la solicitud.
En los siguientes ejemplos, se realiza una solicitud de registro de transmisión:
HTTP de texto sin formato
- Solicitud:
authority: dai.google.com
method: POST
path: /ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream
scheme: https
content-type: application/x-www-form-urlencoded
cust_params=customID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2
- Respuesta:
{
"manifest_format": "hls",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"polling_frequency": 10,
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}
Una caracola
- Línea de comandos:
curl \
-H "Host: dai.google.com" \
-H "content-type: application/x-www-form-urlencoded" \
--data-binary "cust_params=channelID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2" \
--compressed "https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream"
- Resultado:
{
"manifest_format": "hls",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
"polling_frequency": 10,
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}
JavaScript
- Con la API de Fetch:
const response = await fetch("https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream", {
"headers": {
"content-type": "application/x-www-form-urlencoded",
},
"body": "cust_params=channelID%3D1543216789%26anotherKey%3Dvalue1%2Cvalue2",
"method": "POST",
});
const stream = await response.json();
console.log(stream);
- Registro de la consola:
{
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"polling_frequency": 10,
"pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
"manifest_format": "hls"
}
Encuesta de metadatos de pausas publicitarias
Después de realizar una solicitud de registro de transmisión, sondea los metadatos del anuncio. Para
encuesta, estableces un temporizador con polling_frequence
en la respuesta de la transmisión en
el paso de registro para llamar al anuncio
metadatos.
Por cada encuesta, podrías recibir una lista parcial de anuncios con metadatos a medida que
que estén disponibles.
Genera la URL del manifiesto del grupo de anuncios
Crea una URL para el recurso de Pod de la API de Pod Serving. Luego, pasa la URL a un reproductor de video para comenzar cargando el grupo de anuncios.
En el siguiente ejemplo, se muestra la estructura de la URL del manifiesto del grupo de anuncios:
https://dai.google.com/linear/pods/v1/hls/network/51636543/custom_asset/pod_serving_hls_manifest_mp4/pod/101.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db:TUL&pd=120000
Puedes calcular los parámetros de la URL del manifiesto del grupo de anuncios en función de la pausa publicitaria. información recuperada del reproductor de video o de una notificación del servidor. Para de estos parámetros, consulta Método: pod manifest.
Reproducir el manifiesto del grupo de anuncios
En la app de reproducción de video del cliente, inicia la reproducción de transmisión de contenido con una reproductor de video y sigue la documentación del reproductor para observar la reproducción y la programación de anuncios, si corresponde.
Si generas las URLs del manifiesto del grupo de anuncios y las insertas en el manifiesto en la del servidor, observar los próximos eventos de pausas publicitarias del reproductor de video y asegurarse suscribirse a eventos id3 durante la reproducción de cada pausa publicitaria. Si programas el anuncio eventos de interrupción del cliente, suscríbete a los eventos id3 en la creación.
Cómo informar impresiones y eventos de anuncios
Cuando un reproductor de video reproduce el grupo de anuncios y encuentra metadatos cronometrados de id3, escuchar eventos de anuncios que activa el reproductor de video y procesarlos para enviar pings de verificación de medios