Early ad break notification v1
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
- O identificador da transmissão ao vivo correspondente para a qual o intervalo de anúncio está sendo criado. Esse identificador pode ser um dos seguintes:
- A "Chave de recurso" da transmissão ao vivo.
- A "Chave de recurso personalizada" da transmissão ao vivo, que permite gerenciar seu próprio espaço de chaves especificando sua própria string de identificador.
- O "ID da origem do conteúdo" e o "ID do conteúdo" da transmissão ao vivo.
Observação: você precisa ter permissão para usar esse tipo de identificador. Para mais informações, entre em contato com seu gerente de contas.
- A duração esperada do próximo intervalo de anúncio. A duração precisa ser o mais próxima possível do intervalo de anúncio real.
Além desses campos obrigatórios, você também pode enviar parâmetros de segmentação personalizada, o nome de um modelo de bloco de anúncios a ser aplicado ou dados de saída de SCTE35, se disponíveis.
Pré-requisitos
Para usar a API EABN, você precisa criar uma conta de serviço e adicioná-la à sua rede do Google Ad Manager.
Como criar uma conta de serviço
Para criar uma conta de serviço para chamar a API EABN, siga estas etapas: - Se você tiver uma conta do Google Cloud, use o módulo IAM para criar uma conta de serviço. Para mais informações, consulte Como criar e gerenciar contas de serviço. - Se você não tiver uma conta do Google Cloud, siga estas etapas para criar uma no Console de APIs do Google:
- Crie um novo projeto ou selecione um projeto atual.
- Na página Credenciais, clique em Gerenciar contas de serviço.
- Na página Contas de serviço, clique em CRIAR CONTA DE SERVIÇO.
- Na página Criar conta de serviço, insira os detalhes da conta. Em seguida, clique em CRIAR.
Depois de criar uma conta de serviço, copie a chave JSON dela, que é usada para autenticação.
Ative a API
Depois de criar a conta de serviço, forneça as seguintes informações ao gerente de contas para ativar a API:
- Endereço de e-mail da sua conta do Google Cloud
- Sua conta de serviço
- O código da rede do Google Ad Manager.
Depois que a API for ativada pelo gerente da conta, siga estas etapas para ativar a API:
- Na Biblioteca de APIs Google, pesquise "API Google Ad Manager Video".
- Clique em ATIVAR.
Observação: se a API não aparecer nos resultados da pesquisa, entre em contato com seu gerente de contas para confirmar se a conta foi ativada para a API DAI.
Como usar a API
É possível chamar a API EABN usando solicitações JSON/REST.
Autorização
Para fazer chamadas autorizadas para a API EABN, você precisa gerar credenciais da conta de serviço OAuth2 usando a chave JSON da sua conta de serviço e o escopo https://www.googleapis.com/auth/video-ads
. Para mais informações, consulte Usar o OAuth 2.0 para aplicativos de servidor para servidor.
É necessário incluir o token de autorização resultante como um cabeçalho de autenticação para cada chamada à API EABN.
Para enviar uma notificação de intervalo de anúncio antecipado, envie uma solicitação POST para um dos três URLs válidos da EABN, dependendo de como você prefere especificar a transmissão ao vivo. As seções a seguir explicam as diferenças entre os URLs e fornecem exemplos de solicitação e resposta.
URLs
Há três URLs válidos para a notificação antecipada de intervalo de anúncio. Você pode usar os três tipos para criar um intervalo de anúncio (POST
) ou receber a lista de intervalos atribuídos (GET
).
Para usar a chave de recurso de uma transmissão ao vivo, use:
POST admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks
Para usar a chave de recurso personalizada de uma transmissão ao vivo, use:
POST admanagervideo.googleapis.com/v1/networks/{network_code}/customAssets/{custom_asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/customAssets/{custom_asset_key}/adBreaks
Para usar a abordagem do ID da origem do conteúdo e do Content ID, use:
POST admanagervideo.googleapis.com/v1/networks/{network_code}/sources/{content_source_id}/content/{content_id}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/sources/{content_source_id}/content/{content_id}/adBreaks
Para todos os parâmetros:
network_code
representa o código da rede do Google Ad Manager.
asset_key
representa a chave de recurso mostrada na página de detalhes da transmissão ao vivo.
custom_asset_key
representa a chave de recurso personalizada da sua transmissão ao vivo.
content_source_id
representa o ID de uma origem de conteúdo no Google Ad Manager.
content_id
representa o ID de um conteúdo no Google Ad Manager.
Observação: o par content_source_id
/content_id
especificado precisa estar associado a uma transmissão ao vivo no Google Ad Manager.
Corpo da solicitação: usado apenas para criar um intervalo de anúncio (POST).
Objeto |
expectedDuration
| Obrigatório | A duração desse intervalo de anúncio, usando o formato de duração padrão do Google (xx.xxxs, em que xx.xxx é o número de segundos) |
customParams
| Opcional | Pares de chave-valor que vão ser incluídos nas solicitações de anúncio desse intervalo para a segmentação de critérios personalizados no AM360, separados por
=
e se juntar a
&
. Exemplo:
key=value&key2=value2,value3
Para mais informações sobre segmentação, consulte Fornecer parâmetros de segmentação ao stream.
|
podTemplateName
| Opcional | O nome do modelo de conjunto de anúncios |
scte35CueOut
| Opcional | Dados codificados em base64 da saída da cue scte35. Pode incluir o
splice_insert()
ou
time_signal()
bq load. Exemplos: |
Exemplos de solicitação
POST admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks
Content-Type: application/json
Authorization: Bearer …
{
"expectedDuration": "30s",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"customParams": "param1=value1¶m2=value2",
"podTemplateName": "podtemplate"
}
Corpo da resposta
O corpo da resposta contém todos os parâmetros enviados no objeto adBreak
, além de um campo name
extra, que contém o ID padrão do Google do intervalo de anúncio criado. Esse campo é retornado no seguinte formato:
networks/{network_code}/assets/{asset_key}/adBreaks/{ad_break_id}
Exemplo de resposta
HTTP/1.1 200 OK
{
"name": "networks/.../assets/.../adBreaks/1",
"expectedDuration": "30s",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"customParams": "param1=value1¶m2=value2",
"podTemplateName": "podtemplate"
}
GET admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks
Content-Type: application/json
Authorization: Bearer …
Corpo da resposta
O corpo da resposta contém os intervalos de anúncios com um campo breakState
adicional para cada intervalo atribuído ao stream. O campo breakState
aceita os seguintes valores:
// Ad break decisioning has started.
BREAK_STATE_DECISIONED
// Break has started to be delivered to end users.
BREAK_STATE_COMPLETE
Exemplo de resposta
HTTP/1.1 200 OK
{
"name": "networks/.../assets/.../adBreaks/1",
"expectedDuration": "30s",
"breakState": "BREAK_STATE_COMPLETE"
}
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-21 UTC.
[null,null,["Última atualização 2025-08-21 UTC."],[[["\u003cp\u003eThe Early Ad Break Notification (EABN) API enables you to inform Google Ad Manager about upcoming ad breaks in live streams, including metadata, up to an hour in advance.\u003c/p\u003e\n"],["\u003cp\u003eTo use the EABN API, you must create a service account, add it to your Google Ad Manager network, and have the API enabled by your account manager.\u003c/p\u003e\n"],["\u003cp\u003eThe API requires the live stream identifier (asset key, custom asset key, or content source ID with content ID) and the expected ad break duration.\u003c/p\u003e\n"],["\u003cp\u003eYou can optionally include custom targeting parameters, an ad pod template name, and SCTE35 Cue Out data with your EABN requests.\u003c/p\u003e\n"],["\u003cp\u003eEABN requests are immutable, and subsequent requests for the same event are rejected until the break appears in the event's manifest.\u003c/p\u003e\n"]]],[],null,["# Early ad break notification v1\n\nUsing the Early Ad Break Notification API\n-----------------------------------------\n\n- The identifier of the corresponding live stream to which the ad break is being created. This identifier can be one of the following:\n- The \"Asset Key\" of the live stream.\n- The \"Custom Asset Key\" of the live stream, which allows you to manage your own key space by specifying your own identifier string.\n- The \"Content Source ID\" and the \"Content ID\" of the live stream.\n\nNote: You must be enabled to use this identifier type. For more information, contact your account manager.\n\n- The expected duration of the next ad break. The duration needs to be as close to the actual ad break length as possible.\n\nIn addition to these required fields, you can also send custom targeting parameters, the name of an ad pod template to apply, or SCTE35 Cue Out data, if available.\n\n### Prerequisites\n\nIn order to use the EABN API, you must create a service account and add the account to your Google Ad Manager network.\n\n#### Creating a service account\n\nTo create a service account for calling the EABN API, complete the following steps: - If you have a Google Cloud account, use the IAM module to create a service account. For more information, see [Creating and managing service accounts](//cloud.google.com/iam/docs/creating-managing-service-accounts). - If you do not have a Google Cloud account, complete the following steps to create one from the [Google API Console](//console.developers.google.com/apis/credentials/):\n\n1. Create a new project or select an existing project.\n2. In the **Credentials** page, click **Manage service accounts**.\n3. In the **Service accounts** page, click **CREATE SERVICE ACCOUNT**.\n4. In the **Create Service account** page, enter the account details. Then, click **CREATE**.\n\nOnce you have created a service account, copy the account's JSON key, which is used for authentication.\n\n#### Adding your service account to your Google Ad Manager network\n\nTo add your service account to your network, complete the steps in [Add a service account user for API access](//support.google.com/admanager/answer/6078734).\n\n### Enabling the API\n\nOnce you have created the service account, provide the following information to your account manager to enable the API for your account:\n\n- Your Google Cloud Account email address\n- Your service account\n- The Network Code of your Google Ad Manager Network.\n\nAfter the API has been enabled by your account manager, complete the following steps to enable the API:\n\n1. In the [Google API library](//console.developers.google.com/apis/library), search for \"Google Ad Manager Video API\".\n2. Click **ENABLE**.\n\nNote: If the API does not appear in the search results, contact your account manager to confirm that your account has been enabled for the DAI API.\n\n### Using the API\n\nYou can call the EABN API using JSON/REST requests.\n\n#### Authorization\n\nTo make authorized calls to the EABN API, you need to generate OAuth2 service account credentials using the JSON key from your service account and the scope `https://www.googleapis.com/auth/video-ads`. For more information, see [Using OAuth 2.0 for Server to Server Applications](https://developers.google.com/identity/protocols/oauth2/service-account).\n\nYou must include the resulting authorization token as an Auth header for each call to the EABN API.\n\n#### Sending an early ad break notification\n\nTo send an early ad break notification, send a POST request to one of the three valid EABN URLs, depending on how you prefer to specify the live stream. The following sections explain the differences between the URLs and provide request and response examples.\n\n##### URLs\n\nThere are three valid URLs for early ad break notification. You can use all three types to create an ad break (`POST`) or get the list of assigned ad breaks (`GET`).\n\nTo use the asset key of a live stream, use: \n\n POST admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks\n\n GET admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks\n\nTo use the custom asset key of a live stream, use: \n\n POST admanagervideo.googleapis.com/v1/networks/{network_code}/customAssets/{custom_asset_key}/adBreaks\n\n GET admanagervideo.googleapis.com/v1/networks/{network_code}/customAssets/{custom_asset_key}/adBreaks\n\nTo use the Content Source ID and Content ID approach, use: \n\n POST admanagervideo.googleapis.com/v1/networks/{network_code}/sources/{content_source_id}/content/{content_id}/adBreaks\n\n GET admanagervideo.googleapis.com/v1/networks/{network_code}/sources/{content_source_id}/content/{content_id}/adBreaks\n\nFor all the parameters:\n\n- `network_code` represents the network code of your Google Ad Manager network.\n- `asset_key` represents the asset key shown in your live stream details page.\n- `custom_asset_key` represents the custom asset key of your live stream.\n- `content_source_id` represents the id of a content source in Google Ad Manager.\n- `content_id` represents the id of a piece of content in Google Ad Manager.\n\nNote: The specified `content_source_id`/`content_id` pair must be associated with a live stream in Google Ad Manager.\n\n##### Request body - only used to create an Ad Break (POST)\n\n\u003cbr /\u003e\n\n| Object |||\n| \u003cbr /\u003e `expectedDuration` \u003cbr /\u003e | Required | The duration of this ad break, using Google's standard duration format (xx.xxxs where xx.xxx is the number of seconds) |\n| \u003cbr /\u003e `customParams` \u003cbr /\u003e | Optional | Key-value pairs to be included on ad requests for this break for custom criteria targeting in AM360, separated by \u003cbr /\u003e `=` and joined by `&` . Example: `key=value&key2=value2,value3` \u003cbr /\u003e For more information on targeting, see [Supply targeting parameters to your stream](//support.google.com/admanager/answer/7320899). |\n| \u003cbr /\u003e `podTemplateName` \u003cbr /\u003e | Optional | The ad pod template name |\n| \u003cbr /\u003e `scte35CueOut` \u003cbr /\u003e | Optional | Base-64-encoded data from the scte35 cue out. Can include the \u003cbr /\u003e `splice_insert()` or `time_signal()` command. Examples: - time_signal(): \u003cbr /\u003e `/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==` \u003cbr /\u003e - splice_insert(): \u003cbr /\u003e `/DAvAAAAAAAA///wFAVIAACPf+/+c2nALv4AUsz1AAAAAAAKAAhDVUVJAAABNWLbowo=` \u003cbr /\u003e |\n|----------------------------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n\n\u003cbr /\u003e\n\n### Example requests\n\n##### Create an Ad Break\n\n POST admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks\n Content-Type: application/json\n Authorization: Bearer ...\n {\n \"expectedDuration\": \"30s\",\n \"scte35CueOut\": \"/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==\",\n \"customParams\": \"param1=value1¶m2=value2\",\n \"podTemplateName\": \"podtemplate\"\n }\n\n###### Response body\n\nThe response body contains all of the parameters sent in the `adBreak` object, as well as an additional `name` field, which contains the Google-wide standard ID of the created ad break. This field is returned in the following format: \n\n networks/{network_code}/assets/{asset_key}/adBreaks/{ad_break_id}\n\n###### Example response\n\n HTTP/1.1 200 OK\n {\n \"name\": \"networks/.../assets/.../adBreaks/1\",\n \"expectedDuration\": \"30s\",\n \"scte35CueOut\": \"/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==\",\n \"customParams\": \"param1=value1¶m2=value2\",\n \"podTemplateName\": \"podtemplate\"\n }\n\n##### List assigned Ad Breaks\n\n GET admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks\n Content-Type: application/json\n Authorization: Bearer ...\n\n###### Response body\n\nThe response body contains the ad breaks with an additional `breakState` field for each ad break assigned to the stream. `breakState` field supports the following values: \n\n // Ad break decisioning has started.\n BREAK_STATE_DECISIONED\n\n // Break has started to be delivered to end users.\n BREAK_STATE_COMPLETE\n\n###### Example response\n\n HTTP/1.1 200 OK\n {\n \"name\": \"networks/.../assets/.../adBreaks/1\",\n \"expectedDuration\": \"30s\",\n \"breakState\": \"BREAK_STATE_COMPLETE\"\n }"]]