Wenn Sie die Plattform für die dynamische Anzeigenbereitstellung von Google verwenden, können Sie Targeting-Daten für die nächste Live-/lineare Werbeunterbrechung in einem Stream bereitstellen. Mit der EABN API (Early Ad Break Notification) können Sie werbepausenspezifisches Targeting mithilfe von Schlüssel/Wert-Paaren implementieren, das Skalierbarkeit für die Entscheidungsfindung in großen Streams bietet.
Aufrufe an die EABN API müssen den anzusteuernden Assetschlüssel und die erwartete Dauer der nächsten Unterbrechung enthalten. Die Dauer muss der tatsächlichen Dauer der Werbeunterbrechung möglichst nahe kommen. Wenn die erwartete Sendedauer kürzer als die bereitgestellte Werbeunterbrechung ist, wird für die verbleibende Werbeunterbrechung der Fülltyp der Werbeunterbrechung – unvollständig verwendet. Standardmäßig wird dabei leeres Slate angezeigt. Wenn die gesendete erwartete Dauer länger ist als die Werbeunterbrechung, wird die Werbeunterbrechung unter Umständen vor Ende der Werbeunterbrechung beendet.
Zusätzlich zu diesen Pflichtfeldern können Sie auch benutzerdefinierte Targeting-Parameter, den Namen einer anzuwendenden Anzeigen-Pod-Vorlage oder SCTE35-Cue-out-Daten (falls verfügbar) senden.
Voraussetzungen
Dienstkonto erstellen
Für den Zugriff auf die EABN API benötigen Sie ein Google-Dienstkonto.
- Wenn Sie ein Google Cloud-Konto haben, können Sie mit dem IAM-Modul ein Dienstkonto erstellen. Weitere Informationen finden Sie unter Dienstkonten erstellen und verwalten.
- Wenn Sie kein Google Cloud-Konto haben, können Sie über die Google API Console ein Dienstkonto erstellen. Gehen Sie dazu so vor:
- 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. Dieser wird für die Authentifizierung verwendet.
EABN API aktivieren
Bitten Sie nach der Erstellung des Dienstkontos Ihren Account Manager, die EABN API für dieses Konto zu aktivieren.
DAI API aktivieren
Sobald die EABN API für Ihr Dienstkonto aktiviert wurde, aktivieren Sie die DAI API im Konto:
Suchen Sie in der Google API-Bibliothek nach „DAI API“.
Wählen Sie die DAI API aus und aktivieren Sie sie.
EABN API verwenden
Sie können die EABN API mit JSON/REST-Anfragen aufrufen.
Authentifizierung
Für authentifizierte Aufrufe an die EABN API müssen Sie mit dem JSON-Schlüssel Ihres Dienstkontos und dem Bereich https://www.googleapis.com/auth/video-ads
OAuth2-Dienstkontoanmeldedaten generieren. Weitere Informationen finden Sie unter OAuth 2.0 für Server-zu-Server-Anwendungen verwenden.
Der muss das resultierende Authentifizierungstoken als Auth-Header für jeden Aufruf der EABN API enthalten.
Frühzeitige Benachrichtigung zur Werbeunterbrechung senden
Wenn du eine frühzeitige Benachrichtigung zur Werbeunterbrechung senden möchtest, sende eine POST-Anfrage mit der folgenden URL und dem Anfragetext:
POST dai.googleapis.com/v1/adBreaks
Anfragetext
Objekt | ||
---|---|---|
adBreak |
Erforderlich | Das Wrapper-Objekt für adBreak -Properties |
assetKey |
Erforderlich | Eine eindeutige Kennung für die LiveStreamEvent , für die die Unterbrechung erstellt wird |
expectedDuration |
Erforderlich | Die Dauer dieser Werbeunterbrechung im Standardformat von Google (xx.xxxs, wobei xx.xxx die Anzahl der Sekunden ist) |
scte35CueOut |
Optional | Base-64-codierte Daten aus dem scte35-Cue-out-Ereignis. Kann den Befehl splice_insert() oder time_signal() enthalten.
Beispiele:
|
custParams |
Optional | Schlüssel/Wert-Paare, die in Anzeigenanfragen für diese Unterbrechung für das Targeting mit benutzerdefinierten Kriterien in AM360 eingeschlossen werden sollen, getrennt durch = und verknüpft mit & .Beispiel: key=value&key2=value2,value3 Weitere Informationen zum Targeting finden Sie unter Targeting-Parameter an einen Stream übergeben. |
ptpln |
Optional | Der Name der Vorlage für den Anzeigen-Pod |
Antwortheader
HTTP/1.1 200 OK
Antworttext
Der Antworttext enthält alle im Objekt adBreak
gesendeten Parameter sowie ein zusätzliches Feld daiBreakId
, das die interne ID der dynamischen Anzeigenbereitstellung für die erstellte Werbeunterbrechung im Stream enthält.
Beispiel
Anfragen
POST /v1/adBreaks HTTP/1.1
Content-Type: application/json
{
"adBreak": {
"assetKey": "asset1",
"expectedDuration": "30s",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"custParams": "param1=value1¶m2=value2",
"ptpln": "podtemplate"
}
}
Antwort
HTTP/1.1 200 OK
{
"assetKey": "asset1",
"expectedDuration": "30s",
"custParams": "param1=value1¶m2=value2",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"ptpln": "podtemplate",
"daiBreakId": 1
}
Beispielimplementierung (Python)
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from absl import app
from google.auth.transport.requests import AuthorizedSession
from google.oauth2 import service_account
SERVICE_ACCOUNT_KEY_FILE = "~/eabn_key.json"
ASSET_KEY = "asset1"
SCOPES = ['https://www.googleapis.com/auth/video-ads']
EABN_API_URL = 'https://dai.googleapis.com/v1/adBreaks'
def main():
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_KEY_FILE, scopes=SCOPES)
authed_session = AuthorizedSession(credentials)
data = {
'assetKey': ASSET_KEY,
'expectedDuration': '120s',
'custParams': 'param1=value1¶m2=value2',
'scte35CueOut': '/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==',
}
r = authed_session.post(EABN_API_URL, json={'adBreak': data})
print(r.status_code)
print(r.headers)
print(r.text)
if __name__ == '__main__':
app.run(main)