Através da API Video Stitcher, cria uma sessão de vídeo a pedido (VOD) sempre que insere dinamicamente anúncios publicados pelo Google Ad Manager antes da publicação em dispositivos cliente. Quando cria uma sessão, a resposta inclui o URL de reprodução e informações sobre os anúncios que inseriu no vídeo.
Esta página descreve como criar e gerir uma sessão de VOD ativada pelo Google Ad Manager. Para ver informações sobre sessões de VOD que não usam o Google Ad Manager, consulte o artigo Faça a gestão de uma sessão de VOD.
Antes de começar
- Crie uma configuração de VOD. Para a integração com o Google Ad Manager, certifique-se de que o objeto
gamVodConfig
está definido.
Crie uma sessão
Pode criar uma sessão de VOD através do SDK para IMA (que chama a API Video Stitcher) ou diretamente através da API Video Stitcher.
Use o SDK para IMA
Se estiver a fazer a integração com o SDK para IMA, o SDK para IMA cria a sessão 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); }
As sessões de VOD ativadas pelo Google Ad Manager têm de usar o acompanhamento de anúncios do lado do cliente.
Pode definir ou substituir os seguintes parâmetros opcionais por sessão:
manifestOptions
: especifica que as renderizações de vídeo são geradas no manifesto de vídeo agrupado e a ordem das renderizações; consulte a documentação das opções do manifestotargetingParameters
: uma etiqueta de anúncio do Google Ad Manager pode conter parâmetros de segmentação que podem ser atualizados por sessão. Consulte como definir parâmetros de segmentação com o SDK para IMA
Consulte a secção seguinte para saber como definir estes parâmetros através do SDK para IMA.
Parâmetros e substituições opcionais
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); }
Use a API diretamente
Para criar uma sessão para um vídeo com inserção de anúncios, use o método projects.locations.vodSessions.create
.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_NUMBER
: o número do seu Google Cloud projeto localizado no campo Número do projeto na página Definições de IAMLOCATION
: a localização na qual criar a sua sessão; use uma das regiões suportadasMostrar localizaçõesus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
VOD_CONFIG_ID
: o identificador definido pelo utilizador para a configuração de VOD
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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 experimentar este exemplo, siga as C#instruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherC#.
Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Antes de experimentar este exemplo, siga as Goinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherGo.
Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherJava.
Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherNode.js.
Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Antes de experimentar este exemplo, siga as PHPinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherPHP.
Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherPython.
Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Ruby
Antes de experimentar este exemplo, siga as Rubyinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherRuby.
Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
A API Video Stitcher gera um ID de sessão exclusivo para cada pedido. Uma sessão expira após 4 horas.
A resposta deve ser semelhante à seguinte:
{ "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" }
A resposta é um objeto VodSession
que contém os seguintes campos:
- Um campo
name
que mostra o VOD SESSION_ID. Use este ID para obter a sessão. - Um campo
interstitials
que contém metadados sobre os anúncios que foram inseridos (consulte os conceitos de metadados de anúncios). - Um campo
playUri
que mostra o URL que o dispositivo cliente usa para reproduzir o recurso de vídeo condicionado.
Se estiver a gerar uma sessão em nome dos dispositivos dos seus clientes, defina os seguintes parâmetros através de cabeçalhos HTTP:
Parâmetro | Cabeçalho HTTP |
---|---|
CLIENT_IP | x-user-ip |
REFERRER_URL | referer |
USER_AGENT | user-agent |
Pode adicionar os seguintes cabeçalhos ao pedido curl
anterior:
-H "x-user-ip: CLIENT_IP" \ -H "referer: REFERRER_URL" \ -H "user-agent: USER_AGENT" \
Receba uma sessão
Para obter a sessão de um vídeo com união de anúncios, use o método projects.locations.vodSessions.get
.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_NUMBER
: o número do seu Google Cloud projeto localizado no campo Número do projeto na página Definições de IAMLOCATION
: a localização da sua sessão; use uma das regiões suportadasMostrar localizaçõesus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
SESSION_ID
: o identificador da sessão de VOD
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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 experimentar este exemplo, siga as C#instruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherC#.
Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Antes de experimentar este exemplo, siga as Goinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherGo.
Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherJava.
Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherNode.js.
Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Antes de experimentar este exemplo, siga as PHPinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherPHP.
Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherPython.
Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Ruby
Antes de experimentar este exemplo, siga as Rubyinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherRuby.
Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Exemplo de playlist com anúncios integrados
O exemplo seguinte mostra uma playlist VOD de origem antes da união de anúncios:
#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
O exemplo seguinte mostra uma playlist VOD de origem após a união de anúncios com anúncios de inserção inicial, inserção intercalar e inserção final:
#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
Faça a gestão do acompanhamento de anúncios do lado do cliente
O SDK IMA processa automaticamente o acompanhamento de anúncios do lado do cliente.
Inspecione sessões de VOD ativadas pelo Google Ad Manager
Para inspecionar sessões de VOD e os detalhes da etiqueta de anúncio destas sessões, use o monitor de atividade de stream no Ad Manager.