Early ad break notification v1
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
- L'identificatore del live streaming corrispondente a cui viene creata l'interruzione pubblicitaria. Questo identificatore può essere uno dei seguenti:
- La "chiave asset" del live streaming.
- La "chiave asset personalizzata" del live streaming, che ti consente di gestire il tuo spazio chiavi specificando la tua stringa di identificatore.
- L'"ID origine di contenuto" e l'"ID contenuto" del live streaming.
Nota: devi disporre dell'autorizzazione per utilizzare questo tipo di identificatore. Per ulteriori informazioni, contatta il tuo account manager.
- La durata prevista della prossima interruzione pubblicitaria. La durata deve essere il più possibile simile alla durata effettiva dell'interruzione pubblicitaria.
Oltre a questi campi obbligatori, puoi anche inviare parametri di targeting personalizzati, il nome di un modello di pod di annunci da applicare o i dati di cue out SCTE35, se disponibili.
Prerequisiti
Per utilizzare l'API EABN, devi creare un account di servizio e aggiungerlo alla tua rete Google Ad Manager.
Creazione di un account di servizio
Per creare un account di servizio per chiamare l'API EABN, completa i seguenti passaggi: - Se hai un account Google Cloud, utilizza il modulo IAM per creare un account di servizio. Per scoprire di più, consulta la pagina Creare e gestire gli account di servizio. - Se non hai un account Google Cloud, completa i seguenti passaggi per crearne uno dalla console API di Google:
- Crea un nuovo progetto o selezionane uno esistente.
- Nella pagina Credenziali, fai clic su Gestisci account di servizio.
- Nella pagina Account di servizio, fai clic su CREA ACCOUNT DI SERVIZIO.
- Nella pagina Crea account di servizio, inserisci i dettagli dell'account. Quindi, fai clic su CREA.
Dopo aver creato un account di servizio, copia la chiave JSON dell'account, che viene utilizzata per l'autenticazione.
Attivazione dell'API
Dopo aver creato l'account di servizio, fornisci le seguenti informazioni al tuo account manager per attivare l'API per il tuo account:
- L'indirizzo email del tuo account Google Cloud
- Il tuo account di servizio
- Il codice di rete della tua rete Google Ad Manager.
Dopo che l'API è stata attivata dal tuo account manager, completa i seguenti passaggi per attivarla:
- Nella libreria API di Google, cerca "API Video Google Ad Manager".
- Fai clic su ABILITA.
Nota: se l'API non viene visualizzata nei risultati di ricerca, contatta il tuo account manager per verificare che il tuo account sia stato attivato per l'API DAI.
Utilizzo dell'API
Puoi chiamare l'API EABN utilizzando richieste JSON/REST.
Autorizzazione
Per effettuare chiamate autorizzate all'API EABN, devi generare le credenziali dell'account di servizio OAuth2 utilizzando la chiave JSON del tuo account di servizio e l'ambito https://www.googleapis.com/auth/video-ads
. Per ulteriori informazioni, consulta l'articolo sull'utilizzo di OAuth 2.0 per applicazioni da server a server.
Devi includere il token di autorizzazione risultante come intestazione Auth per ogni chiamata all'API EABN.
Per inviare una notifica di interruzione pubblicitaria anticipata, invia una richiesta POST a uno dei tre URL EABN validi, a seconda di come preferisci specificare il live streaming. Le sezioni seguenti spiegano le differenze tra gli URL e forniscono esempi di richieste e risposte.
URL
Esistono tre URL validi per la notifica di interruzione pubblicitaria anticipata. Puoi utilizzare tutti e tre i tipi per creare un'interruzione pubblicitaria (POST
) o visualizzare l'elenco delle interruzioni pubblicitarie assegnate (GET
).
Per utilizzare la chiave asset di un live streaming, utilizza:
POST admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks
Per utilizzare la chiave asset personalizzata di un live streaming:
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
Per utilizzare l'approccio ID origine di contenuto e Content ID, utilizza:
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
Per tutti i parametri:
network_code
rappresenta il codice di rete della tua rete Google Ad Manager.
asset_key
indica la chiave asset visualizzata nella pagina dei dettagli del live streaming.
custom_asset_key
rappresenta la chiave asset personalizzata del tuo live streaming.
content_source_id
rappresenta l'ID di una fonte di contenuti in Google Ad Manager.
content_id
rappresenta l'ID di un contenuto in Google Ad Manager.
Nota: la coppia content_source_id
/content_id
specificata deve essere associata a un live streaming in Google Ad Manager.
Corpo della richiesta: utilizzato solo per creare un'interruzione pubblicitaria (POST)
Oggetto |
expectedDuration
| Obbligatorio | La durata di questa interruzione pubblicitaria, nel formato di durata standard di Google (xx.xxxs, dove xx.xxx è il numero di secondi) |
customParams
| Facoltativo | Le coppie chiave-valore da includere nelle richieste di annunci per questa interruzione per il targeting dei criteri personalizzati in AM360, separate da
=
e a cui si sono uniti
&
. Esempio:
key=value&key2=value2,value3
Per ulteriori informazioni sul targeting, consulta l'articolo Fornire parametri di targeting alla riproduzione in streaming.
|
podTemplateName
| Facoltativo | Il nome del modello di pod di annunci |
scte35CueOut
| Facoltativo | Dati con codifica Base64 a partire dal cue-out di scte35. Può includere
splice_insert()
o
time_signal()
utilizzando il comando gcloud. Esempi: |
Richieste di esempio
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 della risposta
Il corpo della risposta contiene tutti i parametri inviati nell'oggetto adBreak
, nonché un campo name
aggiuntivo che contiene l'ID standard di Google della interruzione pubblicitaria creata. Questo campo viene restituito nel seguente formato:
networks/{network_code}/assets/{asset_key}/adBreaks/{ad_break_id}
Esempio di risposta
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 della risposta
Il corpo della risposta contiene le interruzioni pubblicitarie con un campo breakState
aggiuntivo per ogni interruzione pubblicitaria assegnata allo stream. Il campo breakState
supporta i seguenti valori:
// Ad break decisioning has started.
BREAK_STATE_DECISIONED
// Break has started to be delivered to end users.
BREAK_STATE_COMPLETE
Esempio di risposta
HTTP/1.1 200 OK
{
"name": "networks/.../assets/.../adBreaks/1",
"expectedDuration": "30s",
"breakState": "BREAK_STATE_COMPLETE"
}
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-21 UTC.
[null,null,["Ultimo aggiornamento 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 }"]]