Con la API de Video Stitcher, creas una sesión de video on demand (VOD) cada vez que insertas de forma dinámica anuncios publicados por Google Ad Manager antes de la entrega a los dispositivos cliente. Cuando creas una sesión, la respuesta incluye la URL de reproducción y la información sobre los anuncios que insertaste en el video.
En esta página, se describe cómo crear y administrar una sesión de VOD habilitada por Google Ad Manager. Para obtener información sobre las sesiones de VOD que no usan Google Ad Manager, consulta Cómo administrar una sesión de VOD.
Antes de comenzar
- Crea una configuración de VOD. Para la integración con Google Ad Manager, asegúrate de que el objeto
gamVodConfig
esté configurado.
Crea una sesión
Puedes crear una sesión de VOD con el SDK de IMA (que llama a la API de Video Stitcher) o con la API de Video Stitcher directamente.
Usa el SDK de IMA
Si realizas la integración con el SDK de IMA, este SDK crea la sesión de VOD.
function requestVodVideoStitcherStream() { const streamRequest = new google.ima.dai.api.VideoStitcherVodStreamRequest(); streamRequest.vodConfigId = 'VOD_CONFIG_ID'; streamRequest.region = 'LOCATION'; streamRequest.projectNumber = 'PROJECT_NUMBER'; streamRequest.oAuthToken = 'OAUTH_TOKEN'; streamRequest.networkCode = 'NETWORK_CODE'; streamManager.requestStream(streamRequest); }
Las sesiones de VOD habilitadas por Google Ad Manager deben usar el seguimiento de anuncios del cliente.
Puedes establecer o anular los siguientes parámetros opcionales por sesión:
manifestOptions
: Especifica qué representaciones de video se generan en el manifiesto de video unido y el orden de las representaciones. Consulta la documentación de las opciones de manifiesto.targetingParameters
: Una etiqueta de anuncio de Google Ad Manager puede contener parámetros de segmentación que se pueden actualizar por sesión. Consulta cómo establecer parámetros de segmentación con el SDK de IMA.
Consulta la siguiente sección para obtener información sobre cómo configurar estos parámetros con el SDK de IMA.
Parámetros opcionales y anulaciones
function requestVodVideoStitcherStream() { const streamRequest = new google.ima.dai.api.VideoStitcherVodStreamRequest(); streamRequest.vodConfigId = 'VOD_CONFIG_ID'; streamRequest.region = 'LOCATION'; streamRequest.projectNumber = 'PROJECT_NUMBER'; streamRequest.oAuthToken = 'OAUTH_TOKEN'; streamRequest.networkCode = 'NETWORK_CODE'; streamRequest.videoStitcherSessionOptions = { manifestOptions: { "includeRenditions": [ { "bitrateBps": 150000, "codecs": "hvc1.1.4.L126.B0" }, { "bitrateBps": 440000, "codecs": "hvc1.1.4.L126.B0" }, ], "bitrateOrder": "descending", }, }; streamRequest.adTagParameters = { "key1": "value1", "key2": "value2", }; streamManager.requestStream(streamRequest); }
Usa la API directamente
Para crear una sesión para un video con anuncios intercalados, usa el método projects.locations.vodSessions.create
.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Tu número de Google Cloud proyecto, que se encuentra en el campo Número de proyecto de la página Configuración de IAMLOCATION
: Es la ubicación en la que se creará tu sesión. Usa una de las regiones compatibles.Mostrar ubicacionesus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
VOD_CONFIG_ID
: Es el identificador definido por el usuario para la configuración de VOD.
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/vodSessions/SESSION_ID", "interstitials": { "sessionContent": { "duration": "60s" } }, "playUri": "PLAY_URI", # This is the ad-stitched VOD URI "sourceUri": "VOD_URI", "adTagUri": "AD_TAG_URI", "assetId": "ASSET_ID", "adTracking": "SERVER", "vodConfig": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID" }
C#
Antes de probar esta muestra, sigue las instrucciones de configuración de C# en la guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Video Stitcher C#.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Video Stitcher Go.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Video Stitcher Java.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Video Stitcher Node.js.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Antes de probar esta muestra, sigue las instrucciones de configuración de PHP en la guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Video Stitcher PHP.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Video Stitcher Python.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby en la guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Video Stitcher Ruby.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
La API de Video Stitcher genera un ID de sesión único para cada solicitud. Una sesión vence después de 4 horas.
La respuesta ahora debería ser similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/vodSessions/SESSION_ID", "interstitials": { "adBreaks": [ { "progressEvents": [ { "timeOffset": "0s", "events": [ { "type": "IMPRESSION", "uri": "https://securepubads.g.doubleclick.net/pcs/view..." }, { "type": "START", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, ... ] }, ... ], "ads": [ { "duration": "10s", "activityEvents": [ { "type": "ERROR", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, { "type": "CLICK_THROUGH", "uri": "https://pubads.g.doubleclick.net/pcs/click...", "id": "GDFP" }, ... ] } ], "endTimeOffset": "10s", "startTimeOffset": "0s" } ], "sessionContent": { "duration": "70s" } }, "playUri": "PLAY_URI", "sourceUri": "VOD_URI", "adTagUri": "AD_TAG_URI", "assetId": "ASSET_ID", "adTracking": "SERVER", "vodConfig": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID" }
La respuesta es un objeto VodSession
que contiene los siguientes campos:
- Es un campo
name
que muestra el SESSION_ID del VOD. Usa este ID para obtener la sesión. - Es un campo
interstitials
que contiene metadatos sobre los anuncios que se insertaron (consulta los conceptos de metadatos de anuncios). - Es un campo
playUri
que muestra la URL que usa el dispositivo cliente para reproducir el activo de video acondicionado.
Si generas una sesión en nombre de los dispositivos de tus clientes, configura los siguientes parámetros con encabezados HTTP:
Parámetro | Encabezado HTTP |
---|---|
CLIENT_IP | x-user-ip |
REFERRER_URL | referer |
USER_AGENT | user-agent |
Puedes agregar los siguientes encabezados a la solicitud curl
anterior:
-H "x-user-ip: CLIENT_IP" \ -H "referer: REFERRER_URL" \ -H "user-agent: USER_AGENT" \
Obtén una sesión
Para obtener la sesión de un video con anuncios intercalados, usa el método projects.locations.vodSessions.get
.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Tu número de Google Cloud proyecto, que se encuentra en el campo Número de proyecto de la página Configuración de IAMLOCATION
: Es la ubicación de tu sesión. Usa una de las regiones admitidas.Mostrar ubicacionesus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
SESSION_ID
: Es el identificador de la sesión de VOD.
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/vodSessions/SESSION_ID", "interstitials": { "adBreaks": [ { "progressEvents": [ { "timeOffset": "0s", "events": [ { "type": "IMPRESSION", "uri": "https://securepubads.g.doubleclick.net/pcs/view..." }, { "type": "START", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, ... ] }, ... ], "ads": [ { "duration": "10s", "activityEvents": [ { "type": "ERROR", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, { "type": "CLICK_THROUGH", "uri": "https://pubads.g.doubleclick.net/pcs/click...", "id": "GDFP" }, ... ] } ], "endTimeOffset": "10s", "startTimeOffset": "0s" } ], "sessionContent": { "duration": "70s" } }, "playUri": "PLAY_URI", "sourceUri": "VOD_URI", "adTagUri": "AD_TAG_URI", "assetId": "ASSET_ID", "adTracking": "SERVER", "vodConfig": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID" }
C#
Antes de probar esta muestra, sigue las instrucciones de configuración de C# en la guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Video Stitcher C#.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Video Stitcher Go.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Video Stitcher Java.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Video Stitcher Node.js.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Antes de probar esta muestra, sigue las instrucciones de configuración de PHP en la guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Video Stitcher PHP.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Video Stitcher Python.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby en la guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Video Stitcher Ruby.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Playlist de muestra con anuncios insertados
A continuación, se muestra una muestra de la playlist de VOD de origen antes de la inserción de anuncios:
#EXTM3U
#EXT-X-TARGETDURATION:6
#EXT-X-VERSION:4
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:6.000,
segment_01.ts
#EXTINF:6.000,
segment_02.ts
#EXTINF:6.000,
segment_03.ts
#EXTINF:6.000,
segment_04.ts
#EXTINF:6.000,
segment_05.ts
#EXTINF:6.000,
segment_06.ts
#EXT-X-ENDLIST
A continuación, se muestra un ejemplo de una playlist de VOD fuente después de la inserción de anuncios previos al video, durante el video y al final del video:
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:6
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-DISCONTINUITY
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:1.990,
https://redirector.googlevideo.com/videoplayback/...
#EXT-X-DISCONTINUITY
#EXTINF:6.000,
segment_01.ts
#EXTINF:6.000,
segment_02.ts
#EXT-X-DISCONTINUITY
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:0.990,
https://redirector.googlevideo.com/videoplayback/...
#EXT-X-DISCONTINUITY
#EXTINF:6.000,
segment_03.ts
#EXTINF:6.000,
segment_04.ts
#EXTINF:6.000,
segment_05.ts
#EXTINF:6.000,
segment_06.ts
#EXT-X-DISCONTINUITY
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:1.990,
https://redirector.googlevideo.com/videoplayback/...
#EXT-X-ENDLIST
Administra el seguimiento de anuncios del cliente
El SDK de IMA controlará automáticamente el seguimiento de anuncios del cliente.
Inspecciona las sesiones de VOD habilitadas por Google Ad Manager
Para inspeccionar las sesiones de VOD y los detalles de las etiquetas de anuncios de estas sesiones, usa el supervisor de actividad de transmisión en Ad Manager.