Early ad break notification v1
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
- Die Kennung des entsprechenden Livestreams, für den die Werbeunterbrechung erstellt wird. Diese Kennung kann eine der folgenden sein:
- Der „Asset-Schlüssel“ des Livestreams.
- Der „Benutzerdefinierte Asset-Schlüssel“ des Livestreams, mit dem du deinen eigenen Schlüsselbereich verwalten kannst, indem du deinen eigenen Bezeichner-String angibst.
- Die „Content Source ID“ und die „Content ID“ des Livestreams.
Hinweis: Sie müssen die Verwendung dieses Kennungstyps aktiviert haben. Weitere Informationen erhalten Sie von Ihrem Account Manager.
- Die voraussichtliche Dauer der nächsten Werbeunterbrechung. Die Dauer muss der tatsächlichen Länge der Werbeunterbrechung möglichst nahekommen.
Zusätzlich zu diesen erforderlichen Feldern kannst du auch benutzerdefinierte Targeting-Parameter, den Namen einer anzuwendenden Anzeigen-Pod-Vorlage oder SCTE35-Cue-Out-Daten senden, sofern verfügbar.
Vorbereitung
Wenn Sie die EABN API verwenden möchten, müssen Sie ein Dienstkonto erstellen und es Ihrem Google Ad Manager-Netzwerk hinzufügen.
Dienstkonto erstellen
So erstellen Sie ein Dienstkonto für den Aufruf der EABN API: Weitere Informationen finden Sie unter Dienstkonten erstellen und verwalten. – Wenn Sie kein Google Cloud-Konto haben, führen Sie die folgenden Schritte aus, um eines in der Google API Console zu erstellen:
- Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes Projekt aus.
- Klicken Sie auf der Seite Anmeldedaten auf Dienstkonten verwalten.
- Klicken Sie auf der Seite Dienstkonten auf DIENSTKONTO ERSTELLEN.
- Geben Sie auf der Seite Dienstkonto erstellen die Kontodetails ein. Klicken Sie dann auf ERSTELLEN.
Nachdem Sie ein Dienstkonto erstellt haben, kopieren Sie den JSON-Schlüssel des Kontos, der für die Authentifizierung verwendet wird.
API aktivieren
Nachdem Sie das Dienstkonto erstellt haben, geben Sie Ihrem Account Manager die folgenden Informationen, damit er die API für Ihr Konto aktivieren kann:
- E-Mail-Adresse Ihres Google Cloud-Kontos
- Ihr Dienstkonto
- Der Netzwerkcode Ihres Google Ad Manager-Netzwerks.
Nachdem Ihr Account Manager die API aktiviert hat, führen Sie die folgenden Schritte aus, um sie zu aktivieren:
- Suche in der Google API-Bibliothek nach „Google Ad Manager Video API“.
- Klicken Sie auf AKTIVIEREN.
Hinweis: Wenn die API nicht in den Suchergebnissen angezeigt wird, wenden Sie sich an Ihren Account Manager, um zu prüfen, ob Ihr Konto für die DAI API aktiviert wurde.
API verwenden
Sie können die EABN API mit JSON/REST-Anfragen aufrufen.
Autorisierung
Wenn Sie autorisierte Aufrufe der EABN API ausführen möchten, müssen Sie OAuth2-Anmeldedaten für das Dienstkonto mit dem JSON-Schlüssel Ihres Dienstkontos und dem Gültigkeitsbereich https://www.googleapis.com/auth/video-ads
generieren. Weitere Informationen finden Sie unter OAuth 2.0 für Server-zu-Server-Anwendungen verwenden.
Sie müssen das resultierende Autorisierungstoken für jeden Aufruf der EABN API als Auth-Header angeben.
Wenn du eine Benachrichtigung zu einer frühen Werbeunterbrechung senden möchtest, sende eine POST-Anfrage an eine der drei gültigen EABN-URLs, je nachdem, wie du den Livestream angeben möchtest. In den folgenden Abschnitten werden die Unterschiede zwischen den URLs erläutert und Beispiele für Anfragen und Antworten gegeben.
URLs
Es gibt drei gültige URLs für die frühzeitige Benachrichtigung zu Werbeunterbrechungen. Mit allen drei Typen kannst du eine Werbeunterbrechung erstellen (POST
) oder die Liste der zugewiesenen Werbeunterbrechungen aufrufen (GET
).
So verwendest du den Asset-Schlüssel eines Livestreams:
POST admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks
So verwendest du den benutzerdefinierten Asset-Schlüssel eines Livestreams:
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
So kannst du die Contentquelle und Content ID verwenden:
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
Für alle Parameter gilt:
network_code
steht für den Netzwerkcode Ihres Google Ad Manager-Netzwerks.
asset_key
steht für den Asset-Schlüssel, der auf der Seite mit den Livestream-Details angezeigt wird.
custom_asset_key
ist der benutzerdefinierte Asset-Schlüssel deines Livestreams.
content_source_id
steht für die ID einer Contentquelle in Google Ad Manager.
content_id
ist die ID eines Inhalts in Google Ad Manager.
Hinweis: Das angegebene content_source_id
/content_id
-Paar muss mit einem Livestream in Google Ad Manager verknüpft sein.
Anfragetext – nur zum Erstellen einer Werbeunterbrechung (POST)
Objekt |
expectedDuration
| Erforderlich | Die Dauer dieser Werbeunterbrechung im Google-Standardformat (xx.xxx Sekunden, wobei xx.xxx für die Anzahl der Sekunden steht) |
customParams
| Optional | Schlüssel/Wert-Paare, die in Anzeigenanfragen für diese Werbeunterbrechung beim Targeting auf benutzerdefinierte Kriterien in AM360 eingefügt werden sollen, getrennt durch
=
und
&
. Beispiel:
key=value&key2=value2,value3
Weitere Informationen zum Targeting finden Sie unter Targeting-Parameter an einen Stream übertragen.
|
podTemplateName
| Optional | Der Name der Anzeigen-Pod-Vorlage |
scte35CueOut
| Optional | Base64-codierte Daten aus dem SCTE-35-Cue-out. Dazu gehören
splice_insert()
oder
time_signal()
ausgeführt werden. Beispiele: |
Beispielanfragen
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"
}
Antworttext
Der Antworttext enthält alle im adBreak
-Objekt gesendeten Parameter sowie ein zusätzliches name
-Feld mit der Google-Standard-ID der erstellten Werbeunterbrechung. Dieses Feld wird im folgenden Format zurückgegeben:
networks/{network_code}/assets/{asset_key}/adBreaks/{ad_break_id}
Beispielantwort
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 …
Antworttext
Der Antworttext enthält die Werbeunterbrechungen mit einem zusätzlichen breakState
-Feld für jede Werbeunterbrechung, die dem Stream zugewiesen ist. Das Feld breakState
unterstützt die folgenden Werte:
// Ad break decisioning has started.
BREAK_STATE_DECISIONED
// Break has started to be delivered to end users.
BREAK_STATE_COMPLETE
Beispielantwort
HTTP/1.1 200 OK
{
"name": "networks/.../assets/.../adBreaks/1",
"expectedDuration": "30s",
"breakState": "BREAK_STATE_COMPLETE"
}
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-08-21 (UTC).
[null,null,["Zuletzt aktualisiert: 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 }"]]