Mit der Video Stitcher API erstellen Sie jedes Mal eine Video-on-Demand-Sitzung (VOD), wenn Sie Anzeigen, die von Google Ad Manager ausgeliefert werden, dynamisch vor der Auslieferung an Clientgeräte einfügen. Wenn Sie eine Sitzung erstellen, enthält die Antwort die Wiedergabe-URL und Informationen zu den Anzeigen, die Sie in das Video eingefügt haben.
Auf dieser Seite wird beschrieben, wie Sie eine VOD-Sitzung erstellen und verwalten, die von Google Ad Manager unterstützt wird. Informationen zu VOD-Sitzungen, bei denen kein Google Ad Manager verwendet wird, finden Sie unter VOD-Sitzung verwalten.
Hinweise
- VOD-Konfiguration erstellen Achten Sie bei der Integration mit Google Ad Manager darauf, dass das
gamVodConfig
-Objekt festgelegt ist.
Sitzung erstellen
Sie können eine VOD-Sitzung mit dem IMA SDK (das die Video Stitcher API aufruft) oder direkt mit der Video Stitcher API erstellen.
IMA SDK verwenden
Wenn Sie das IMA SDK einbinden, wird die VOD-Sitzung vom IMA SDK erstellt.
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); }
Bei VOD-Sitzungen, die durch Google Ad Manager aktiviert werden, muss das clientseitige Anzeigen-Tracking verwendet werden.
Sie können die folgenden optionalen Parameter pro Sitzung festlegen oder überschreiben:
manifestOptions
: Gibt an, welche Video-Renditionen im Manifest für das zusammengefügte Video generiert werden und in welcher Reihenfolge. Weitere Informationen finden Sie in der Dokumentation zu Manifestoptionen.targetingParameters
: Ein Google Ad Manager-Anzeigentag kann Targeting-Parameter enthalten, die pro Sitzung aktualisiert werden können. Weitere Informationen zum Festlegen von Targeting-Parametern mit dem IMA SDK
Im nächsten Abschnitt erfahren Sie, wie Sie diese Parameter mit dem IMA SDK festlegen.
Optionale Parameter und Überschreibungen
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); }
API direkt verwenden
Verwenden Sie zum Erstellen einer Sitzung für ein Video mit eingefügten Anzeigen die Methode projects.locations.vodSessions.create
.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_NUMBER
: Ihre Google Cloud Projektnummer, die auf der Seite IAM-Einstellungen im Feld Projektnummer zu finden istLOCATION
: Der Standort, an dem die Sitzung erstellt werden soll. Verwenden Sie eine der unterstützten Regionen.Standorte anzeigenus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
VOD_CONFIG_ID
: die benutzerdefinierte Kennung für die VOD-Konfiguration
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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#
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der C#-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Video Stitcher API C# API-Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Go-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Video Stitcher API Go API-Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Java-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Video Stitcher API Java API-Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Node.js-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Video Stitcher API Node.js API-Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der PHP-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Video Stitcher API PHP API-Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Python-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Video Stitcher API Python API-Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Ruby-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Video Stitcher API Ruby API-Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Die Video Stitcher API generiert für jede Anfrage eine eindeutige Sitzungs-ID. Eine Sitzung läuft nach 4 Stunden ab.
Die Antwort sollte jetzt in etwa so aussehen:
{ "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" }
Die Antwort ist ein VodSession
-Objekt mit den folgenden Feldern:
- Ein
name
-Feld, in dem die SESSION_ID des VOD angezeigt wird. Verwenden Sie diese ID, um die Sitzung abzurufen. - Ein
interstitials
-Feld mit Metadaten zu den eingefügten Anzeigen (siehe Konzepte für Anzeigenmetadaten). - Ein
playUri
-Feld mit der URL, die das Clientgerät zum Abspielen des aufbereiteten Video-Assets verwendet.
Wenn Sie eine Sitzung im Namen der Geräte Ihrer Kunden generieren, legen Sie die folgenden Parameter mit HTTP-Headern fest:
Parameter | HTTP-Header |
---|---|
CLIENT_IP | x-user-ip |
REFERRER_URL | referer |
USER_AGENT | user-agent |
Sie können der vorherigen curl
-Anfrage die folgenden Header hinzufügen:
-H "x-user-ip: CLIENT_IP" \ -H "referer: REFERRER_URL" \ -H "user-agent: USER_AGENT" \
Sitzung abrufen
Verwenden Sie die Methode projects.locations.vodSessions.get
, um die Sitzung für ein Video mit eingefügten Anzeigen abzurufen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_NUMBER
: Ihre Google Cloud Projektnummer, die auf der Seite IAM-Einstellungen im Feld Projektnummer zu finden istLOCATION
: Der Standort Ihrer Sitzung. Verwenden Sie eine der unterstützten Regionen.Standorte anzeigenus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
SESSION_ID
: die Kennung für die VOD-Sitzung
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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#
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der C#-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Video Stitcher API C# API-Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Go-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Video Stitcher API Go API-Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Java-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Video Stitcher API Java API-Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Node.js-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Video Stitcher API Node.js API-Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der PHP-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Video Stitcher API PHP API-Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Python-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Video Stitcher API Python API-Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Ruby-Einrichtungsanleitung in der Video Stitcher API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Video Stitcher API Ruby API-Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Video Stitcher API Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Beispiel für eine Playlist mit eingefügten Anzeigen
Im Folgenden sehen Sie ein Beispiel für eine Quell-VOD-Playlist vor dem Einfügen von Anzeigen:
#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
Im Folgenden sehen Sie ein Beispiel für eine VOD-Quellplaylist nach dem Einfügen von Pre-Roll-, Mid-Roll- und Post-Roll-Anzeigen:
#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
Clientseitiges Anzeigen-Tracking verarbeiten
Das IMA SDK übernimmt automatisch das clientseitige Anzeigen-Tracking.
Von Google Ad Manager aktivierte VOD-Sitzungen prüfen
Wenn Sie VOD-Sitzungen und die Details der Ad-Tags für diese Sitzungen prüfen möchten, verwenden Sie die Überprüfung der Streamingaktivitäten in Ad Manager.