Con la API de Video Stitcher, creas una sesión de video on demand (VOD) cada vez que insertas de forma dinámica los anuncios que publica Google Ad Manager antes de su publicación en los dispositivos del cliente. Cuando creas una sesión, la respuesta incluye la reproducción La URL 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 que habilita Google Ad Manager. Para obtener información sobre las sesiones de VOD que no usan Google Ad Manager, consulta Administra 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é automático.
Crea una sesión
Puedes crear una sesión de VOD con el SDK de IMA (que llama al API de Video Stitcher) o mediante el uso directo de la API de Video Stitcher.
Usa el SDK de IMA
Si realizas la integración con el SDK de IMA, el SDK de IMA 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 configurar o anular los siguientes parámetros opcionales por sesión:
manifestOptions
: Especifica los formatos de video que se deben las imágenes que se generan en el manifiesto de video unido y el orden de las versiones; consulta la documentación de opciones del manifiestoadTagMacroMap
: Una lista de pares clave-valor para la etiqueta de anuncio reemplazo de macros; Consulte la sección Macros de etiqueta de anuncio
Consulta la siguiente sección para aprender a 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", }, "adTagMacroMap": { "my-key": "my-value" } }; streamManager.requestStream(streamRequest); }
Usa la API directamente
Para crear una sesión para un video con anuncios integrados, 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
: Es tu proyecto de Google Cloud. Número de proyecto ubicado en el campo Número de proyecto de la Configuración de IAM páginaLOCATION
: Es la ubicación en la que se creará la 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# que se encuentran en el Guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Para obtener más información, consulta la API de Video Stitcher C# API documentación de referencia.
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 que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Go de la API de Video Stitcher.
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 que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la API de Video Stitcher Java API documentación de referencia.
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 que se encuentran en el Guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Para obtener más información, consulta la API de Video Stitcher Node.js API documentación de referencia.
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 que se encuentran en el Guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Para obtener más información, consulta la API de Video Stitcher PHP API documentación de referencia.
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 que se encuentran en el Guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Para obtener más información, consulta la API de Video Stitcher Python API documentación de referencia.
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 que se encuentran en el Guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Ruby de la API de Video Stitcher.
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 expira 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:
- Un campo
name
que muestra el SESSION_ID de VOD. Usa este ID para obtener la sesión. - Un campo
interstitials
que contiene metadatos sobre los anuncios que se insertaron (consulta los conceptos de metadatos de anuncios). - 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" \
Macros de etiquetas de anuncios
Una etiqueta de anuncio puede contener macros, lo que puede generar una etiqueta de anuncio diferente para cada sesión. Las macros se indican con corchetes en la etiqueta de anuncio, como se muestra en el siguiente ejemplo:
AD_TAG_URI¯o=[my-key]
adTagUri
se define en la configuración de VOD.
Para sustituir el valor de la macro de etiqueta de anuncio, proporciona una asignación en la
adTagMacroMap
. Por ejemplo, si quieres reemplazar
la macro [my-key]
con la cadena my-value
, debes proporcionar la
lo siguiente:
{ ... "adTagMacroMap": { "my-key": "my-value" }, ... }
Cuando la API de Video Stitcher solicita los metadatos del anuncio, usa la siguiente etiqueta de anuncio:
AD_TAG_URI¯o=my-value
Cómo obtener una sesión
Para obtener la sesión de un video con anuncios integrados, 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
: El número de tu proyecto de Google Cloud, 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 uno de las regiones admitidasMostrar 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# que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de C# de la API de Video Stitcher.
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 que se encuentran en el Guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Para obtener más información, consulta la API de Video Stitcher Go API documentación de referencia.
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 que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la API de Video Stitcher Java API documentación de referencia.
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 que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Node.js de la API de Video Stitcher.
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 que se encuentran en el Guía de inicio rápido de la API de Video Stitcher con bibliotecas cliente. Para obtener más información, consulta la API de Video Stitcher PHP API documentación de referencia.
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 que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Python de la API de Video Stitcher.
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 que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Ruby de la API de Video Stitcher.
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.
Ejemplo de playlist con anuncios integrados
A continuación, se muestra una playlist de VOD de origen de muestra antes de la unió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, te mostramos un ejemplo de playlist de origen de VOD después de la unión de anuncios con 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
Cómo controlar 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 la etiqueta de anuncio de estas sesiones, usa el Supervisa la actividad de transmisión en Ad Manager.