Anzeigenkonfigurationen definieren verschiedene Aspekte der SSAI-Wiedergabe, einschließlich Anzeigenaufruf(en), Beacons und andere Konfigurationsoptionen. Ein Konto kann mehrere Konfigurationen haben und Konfigurationen können derzeit nicht zwischen Konten geteilt werden.
Allgemeine Informationen
Die folgenden Informationen beziehen sich auf alle SSAI-API-Anfragen.
Basis-URL
Die Basis-URL für die SSAI-API lautet:
https://ssai.api.brightcove.com/v1
Account-Pfad
In allen Fällen werden Anfragen für ein bestimmtes Video Cloud-Konto gestellt. Sie fügen also immer den Begriff accounts
gefolgt von Ihrer Konto-ID zur Basis-URL hinzu:
https://ssai.api.brightcove.com/v1/accounts/your account id
Authentifizierung
Die Authentifizierung für Anfragen erfordert einen Authorization-Header:
Authorization: Bearer your access token
Die access_token
ist ein temporäres OAuth2-Zugriffstoken, das vom Brightcove OAuth-Dienst abgerufen werden muss. Ausführliche Informationen zum Abrufen von Client-Anmeldeinformationen und deren Verwendung zum Abrufen von Zugriffstoken finden Sie im Authentifizierung für Brightcove-API-Anforderungen.
Betrieb
Wenn Sie Client-Anmeldeinformationen anfordern, müssen Sie die Art des Kontozugriffs oder der gewünschten Vorgänge angeben. Im Folgenden finden Sie eine Liste der derzeit unterstützten Operationen für die SSAI-API:
- SSAI-Daten:
video-cloud/ssai/read
video-cloud/ssai/all
Anzeigenkonfigurationen verwalten
Die API unterstützt die folgenden GET- und PUT-Anfragen:
- Anzeigenkonfigurationen auflisten
- Erstellen Sie eine Anzeigenkonfiguration
- Details zur Anzeigenkonfiguration abrufen
- Aktualisieren einer Anzeigenkonfiguration
Anzeigenkonfigurationen auflisten
Listen Sie die für ein Konto definierten Anzeigenkonfigurationen auf.
Methode | WERDEN |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/deine Konto-ID/ssai_configs |
Header | Autorisierung: Träger Ihr Zugangstoken |
Inhaltstyp: application/json |
Beispielantwort:
[
{
"name": "VMAP Ad Server",
"vmap_response_namespace": "bc",
"config_id": "2ecc6beb-d6a4-4deb-a78e-37ac27e0f883",
"account_id": "57838016001",
"created_timestamp": "2017-07-24T19:28:34.976878586Z",
"updated_timestamp": "2017-07-24T19:28:34.976878586Z",
"ad_config": {
"expected_ad_response": "dfp_ad_rules",
"disable_server_beacons": false,
"template_url": {
"template": "https://solutions.brightcove.com/bcls/ads/simple-ad-rules?ip={{ system.ip_address }}&vid={{ metadata.video_id }}&ppid={{ system.unique_user_id }}&p_vmap={{ url.p_vmap }}"
}
}
}
]
Für Felddefinitionen siehe die Konfigurationsfelddetails Abschnitt.
Erstellen Sie eine Anzeigenkonfiguration
Erstellen Sie eine Anzeigenkonfiguration für ein Konto.
Methode | BEITRAG |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/deine Konto-ID/ssai_configs |
Header | Autorisierung: Träger Ihr Zugangstoken |
Inhaltstyp: application/json |
Probenkörper:
{
"name": "VMAP Ad Server",
"vmap_response_namespace": "bc",
"ad_tracking_sample_percentage": 100,
"ad_config": {
"expected_ad_response": "vast_3_0",
"disable_server_beacons": false,
"round_up_cue_points": false,
"template_url": {
"template": "https://solutions.brightcove.com/bcls/ads/simple-ad-rules?ip={{ system.ip_address }}&vid={{ metadata.video_id }}&ppid={{ system.unique_user_id }}&p_vmap={{ url.p_vmap }}"
}
},
"discontinuities": {
"hls": [ "*" ]
}
}
Für Felddefinitionen siehe die Konfigurationsfelddetails Abschnitt.
Anmerkungen
-
ad_tracking_sample_percentage
bestimmt den Prozentsatz der Sitzungen, die protokolliert werden. Er kann einen Wert zwischen 0 (Protokollierung deaktivieren) und 100 (alle Sitzungen protokollieren) annehmen.
Details zur Anzeigenkonfiguration abrufen
Rufen Sie für ein Konto die Anzeigenkonfigurationsdetails nach Konfigurations-ID ab.
Methode | WERDEN |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/deine Konto-ID/ssai_configs/deine Anzeigenkonfig-ID |
Header | Autorisierung: Träger Ihr Zugangstoken |
Inhaltstyp: application/json |
Beispielantwort:
{
"name": "VMAP Ad Server",
"vmap_response_namespace": "bc",
"config_id": "2ecc6beb-d6a4-4deb-a78e-37ac27e0f883",
"account_id": "57838016001",
"created_timestamp": "2017-07-24T19:28:34.976878586Z",
"updated_timestamp": "2017-07-24T19:28:34.976878586Z",
"ad_tracking_sample_percentage": 100,
"ad_config": {
"expected_ad_response": "dfp_ad_rules",
"disable_server_beacons": false,
"template_url": {
"template": "https://solutions.brightcove.com/bcls/ads/simple-ad-rules?ip={{ system.ip_address }}&vid={{ metadata.video_id }}&ppid={{ system.unique_user_id }}&p_vmap={{ url.p_vmap }}"
}
},
"beacon_templates": [
{
"type": "content_start",
"template_url": {
"template": "https://myserver.com/beaconRX/{{metadata.video_id}}/load?position=load&sid={{system.xfp.unique_user_id}}&jid={{metadata.video_id}}&rnd32={{sytem.random_number_32}}&bid={{system.uuid}}&t={{system.timestamp_utc}}&ua={{system.user_agent}}&ip={{system.ip_address}}&ref={{system.referer}}"
}
},
{
"type": "content_midpoint",
"template_url": {
"template": "https://myserver.com/beaconRX/{{metadata.video_id}}/load?position=load&sid={{system.xfp.unique_user_id}}&jid={{metadata.video_id}}&rnd32={{sytem.random_number_32}}&bid={{system.uuid}}&t={{system.timestamp_utc}}&ua={{system.user_agent}}&ip={{system.ip_address}}&ref={{system.referer}}"
}
},
{
"type": "ad_start",
"template_url": {
"template": "https://myserver.com/beaconRX/{{metadata.video_id}}/load?position=load&sid={{system.xfp.unique_user_id}}&jid={{metadata.video_id}}&rnd32={{sytem.random_number_32}}&bid={{system.uuid}}&t={{system.timestamp_utc}}&ua={{system.user_agent}}&ip={{system.ip_address}}&ref={{system.referer}}"
}
},
{
"type": "content_complete",
"template_url": {
"template": "https://myserver.com/beaconRX/{{metadata.video_id}}/load?position=load&sid={{system.xfp.unique_user_id}}&jid={{metadata.video_id}}&rnd32={{sytem.random_number_32}}&bid={{system.uuid}}&t={{system.timestamp_utc}}&ua={{system.user_agent}}&ip={{system.ip_address}}&ref={{system.referer}}"
}
}
],
"discontinuities": {
"dash": [
"*"
],
"hls": [
"*"
]
},
"extend_beacon_guard_ttl": true
}
}
Für Felddefinitionen siehe die Konfigurationsfelddetails Abschnitt.
Aktualisieren einer Anzeigenkonfiguration
Aktualisieren Sie eine Anzeigenkonfiguration anhand der Konfigurations-ID.
Methode | STELLEN |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/deine Konto-ID/ssai_configs/deine Anzeigenkonfig-ID |
Header | Autorisierung: Träger Ihr Zugangstoken |
Inhaltstyp: application/json | |
Proben-Körper |
|
Beispielantwort:
{
"name": "VMAP Ad Server - updated",
"vmap_response_namespace": "bc",
"config_id": "2ecc6beb-d6a4-4deb-a78e-37ac27e0f883",
"account_id": "57838016001",
"created_timestamp": "2017-07-24T19:28:34.976878586Z",
"updated_timestamp": "2017-07-24T19:28:34.976878586Z",
"ad_config": {
"expected_ad_response": "dfp_ad_rules",
"disable_server_beacons": false,
"template_url": {
"template": "https://solutions.brightcove.com/bcls/ads/simple-ad-rules?ip={{ system.ip_address }}&vid={{ metadata.video_id }}&ppid={{ system.unique_user_id }}&p_vmap={{ url.p_vmap }}"
}
}
}
Für Felddefinitionen siehe die Konfigurationsfelddetails Abschnitt.
Details zum Konfigurationsfeld
Diese Tabelle definiert die Anzeigenkonfigurationsfelder, die im Hauptteil einer Anfrage verwendet werden.
Feld | Typ | Beschreibung |
---|---|---|
name |
Zeichenfolge | Für Menschen lesbarer Name |
vmap_response_namespace |
Zeichenfolge | Passt die VMAP-Ausgabe an, um das alte Unicorn Once-Namespace-Format oder das neue Brightcove-Namespace-Format zu verwenden. Werte: uo , bc Standard: bc |
description |
Zeichenfolge | Für Menschen lesbare Beschreibung |
ad_config.expected_ad_response |
Zeichenfolge | Welche Technologie soll zum Analysieren der Antwort verwendet werden? [1] Werte:
|
ad_config.disable_server_beacons |
Boolescher Wert | Gibt an, ob das serverseitige Auslösen von Anzeigenimpressionen/Beacons deaktiviert werden soll. Wenn diese Option aktiviert ist true , löst SSAI serverseitig keine Beacons aus und schließt alle Beacons in die VMAP-Ausgabe ein.Wenn auf gesetzt false , löst SSAI die Beacons aus, die es serverseitig kann, und schließt alle Beacons ein, die es nicht kann. in die VMAP-Ausgabe |
ad_config.round_up_cue_points |
Boolescher Wert | Gibt an, ob auf den nächsten Keyframe aufgerundet werden soll, wenn eine Position in der Nähe zum Einfügen von Anzeigen ausgewählt wird. Standard: false , der den Keyframe auswählt, der der gewünschten Anzeigenposition am nächsten kommt. |
ad_config.template_url.template |
Zeichenfolge | Anzeigen-Tag-Vorlage. Verfügbare Variablen, die in einem späteren Abschnitt beschrieben werden. |
ad_config.template_url.defaults |
Objekt | Zuordnung von String zu String, der den Standardwert definiert, der verwendet werden soll, wenn kein URL-Parameter angegeben wird. Kann wörtlich sein { "url.foo": "SomeString" } Oder verweisen Sie auf eine andere Variable { "url.foo": "{{ metadata.title_id }}" } |
ad_tracking_sample_percentage |
ganze Zahl | Dieser Wert bestimmt den Prozentsatz der Sitzungen, die protokolliert werden. Es kann ein beliebiger Wert von 0 (Protokollierung deaktivieren) bis 100 (alle Sitzungen protokollieren) sein. Der Wert 0 deaktiviert Logs vollständig.Standard: 0 Werte: [ 0 .. 100 ] |
beacon_templates |
Reihe | Eine Reihe von Beacons zum Abfeuern (Beispiel: Beacons von Drittanbietern) |
beacon_templates[].type |
Zeichenfolge |
Art des zu feuernden Leuchtfeuers. Werte:
|
beacon_templates[].template_url.template |
Zeichenfolge | Beacon-URL-Vorlage |
discontinuities.dash [2] |
[]Zeichenfolge | Steuert, welche Versionen von Dash Multi Period Dash-Manifeste liefern. Einstellen ["*"] Mehrperioden-Dash für alle Versionen zu liefernLeere Liste für nie Beispiel: ["live-timeline"] für Live-Timeline zu liefern, aber nicht für hbbtv |
discontinuities.hls [2] |
[]Zeichenfolge | Steuert, welche Versionen von hls mit Diskontinuitäten geliefert werden. Einstellen ["*"] Lieferung mit Diskontinuitäten in allen Versionen von HLSLeere Liste für nie Beispiel: ["v4","v5"] für v4 & v5 zu liefern, aber nicht für v3 |
extend_beacon_guard_ttl |
Boolescher Wert | Setzt die Länge der Beacon Guard TTL (Time to live) auf die Länge der Sitzungs-TTL des Inhalts. Andernfalls ist der Standardwert 1 Minute. |
Arten von Anzeigenantworten
Hier finden Sie einige zusätzliche Informationen zum Arbeiten mit ad_config.expected_ad_response
Typen aus der obigen Tabelle. Werte:
vast_3_0
- Vorlage für die Schaltung digitaler Videoanzeigen (VAST)dfp_vmap
- Video-Playlist mit mehreren Anzeigen (VMAP)dfp_ad_rules
- Proprietäres Format für Google DFP, das in Google Ad Manager (GAM) umbenannt wurdesmart_xml
- Proprietäres Format für FreeWheel
Prozessablauf
Beachten Sie bei der Erstellung von SSAI-Anzeigenkonfigurationen die folgenden Prozesshinweise:
VMAP
Wenn der Anzeigenantworttyp von SSAI Config DFP VMAP ist:
- Alle Cue-Points, die mit einem Video konfiguriert wurden, werden ignoriert.
- SSAI parst die VMAP-XML-Datei des Anzeigenanbieters, die alle Anzeigen mit ihren definierten Positionen enthält.
GROSS
Wenn der Anzeigenantwortstyp von SSAI Config VAST 3.0 ist:
- Definieren Sie Cue-Points in Ihrem Video. Die SSAI wird für jeden Cue-Point im Video Anfragen stellen, um Werbeunterbrechungen zu konstruieren.
- Wenn für ein Video kein Cue-Point konfiguriert ist, wird standardmäßig eine Preroll-Anzeige eingefügt.
Anzeigenvariablen
Variablen in der Vorlagen-URL werden durch doppelte geschweifte Klammern ({{ … }}
) mit optionalem Leerzeichen vor und nach dem variablen Pfad identifiziert. Allen Variablen ist einer von drei Namensräumen vorangestellt:
Systemvariablen
Systemvariablen werden vom SSAI-System bereitgestellt und können Informationen über den Endbenutzer oder Hilfsvariablen zum Generieren von Zufallswerten sein. Die Werte müssen URI-codiert sein, bevor sie in die URL-Vorlagen eingefügt werden.
Systemvariablen werden wie folgt identifiziert: {{system.*}}
Feld | Beschreibung |
---|---|
ad.position_time |
Die Zeit in Sekunden des Cue-Points, der die Anzeigenanfrage ausgelöst hat; Nur für den Anzeigenantworttyp VAST verfügbar |
ip_address |
IP-Adresse des Endbenutzers |
random_number_32 |
Zufällige 32-Bit-Ganzzahl |
random_number_<min>_<max> |
Erzeugt eine Zufallszahl zwischen zwei Zahlen. Der akzeptierte Bereich reicht von 0 bis zum Maximalwert von UInt32 . Es sind nur positive Zahlen erlaubt, und die min muss niedriger sein als max |
random_guid |
Zufällige UUID |
referer |
Wert der Referr-Kopfzeile des Endbenutzers |
timestamp_utc |
Aktuelle Uhrzeit als Unix-Zeitstempel |
unique_user_id |
MD5(ip_address + user_agent) |
unix_timestamp |
Aktuelle Uhrzeit als Unix-Zeitstempel (Sekunden) |
user_agent |
User-Agent-Header-Wert des Endbenutzers |
uuid |
Zufällige uuid |
x_forwarded_for |
X-Forwarded-For-Header-Wert des Endbenutzers |
xfp.correlator |
Zufällige 64-Bit-Ganzzahl |
xfp.ip_address |
IP-Adresse des Endbenutzers |
xfp.unique_user_id |
MD5(ip_address + user_agent) |
xfp.scor |
Zufällige 64-Bit-Ganzzahl |
URL-Variablen
Abfrageparameter, die auf dem Einstiegspunkt VMAP/Manifest bereitgestellt werden, sind unter dem url
Namensraum. Im Gegensatz zu Variablen unter anderen Namespaces werden diese Parameter beim Einfügen in die Vorlage nicht url-codiert. Wenn Variablenwerte für den Anzeigenanbieter URL-kodiert werden müssen, müssen sie auf der Einstiegspunkt-URL doppelt urlkodiert werden.
URL-Variablen werden identifiziert als: {{url.*}}
URL-Variablen müssen wie folgt durch benutzerdefinierte Integration ersetzt werden:
- Schreiben Sie Code, um eine Anfrage an die Playback-API zu stellen.
- Abfangen der von der API-Anforderung zurückgegebenen Daten.
- Ersetzen Sie alle
{{url.*}}
Token in Quell-URLs - Laden Sie die Daten/Quelle in den Player (Brightcove Player für Web oder die nativen SDKs)
Metadatenvariablen
Metadatenvariablen sind diejenigen, die das Inhaltsvideo beschreiben und sowohl aus Video Cloud- als auch aus Dynamic Delivery-Datenquellen abgeleitet werden. Die Werte (außer ad_keys
) werden URL-codiert, bevor sie in die URL-Vorlagen eingefügt werden.
Metadatenvariablen werden wie folgt identifiziert: {{metadata.*}}
Feld | Beschreibung |
---|---|
ad_keys |
Freiform-Textstring, der im Video Cloud Studio Media-Modul hinzugefügt und bearbeitet werden kann, indem eines der beiden folgenden Felder verwendet wird, je nach Art Ihrer Anzeigenantwort
|
custom_fields.{field_name} |
Benutzerdefinierte Video Cloud-Felder |
long_description |
Lange Beschreibung von Video Cloud |
name |
Video Cloud-Videoname |
reference_id |
Video Cloud-Referenz-ID |
tags |
Kommagetrennte Liste der Video Cloud-Tags für das Video |
title.duration |
Dauer des Inhalts in Sekunden |
title.id |
Titel-ID für dynamische Lieferung |
title.name |
Name des dynamischen Versandtitels |
video_id |
Video Cloud-Video-ID |
Andere Video Cloud-Schlüssel / Wert-Paare wären ebenfalls hier |
Parameter der Einstiegspunkt-URL
Es gibt eine Handvoll Abfrageparameter, die der SSAI-Einstiegspunkt-URL (VMAP oder Manifest) hinzugefügt werden können, um einige Verhaltensweisen zu optimieren:
Parameter | Beschreibung |
---|---|
?rule=sd-only |
Filtert alle Videowiedergaben heraus, deren Höhe unter dem in der Kontokonfiguration festgelegten Schwellenwert liegt |
?rule=discos-enabled |
Aktivieren Sie die Wiedergabe mit Unterbrechungen in HLS und MultiPeriods in Dash. Hat Vorrang vor der Einstellung von Diskontinuitäten in Playback Config |
?rule=discos-disabled |
Deaktivieren Sie die Wiedergabe mit Unterbrechungen in HLS und MultiPeriods in Dash. Hat Vorrang vor der Einstellung von Diskontinuitäten in Playback Config |
Konfigurationshinweise
- Das Vorabladen von Anzeigen sollte nicht mit SSAI erfolgen. Der Grund dafür ist, dass der Player beim Vorabladen eine Anzeigenimpression und wahrscheinlich die ersten Quartil-Beacons meldet, bevor das Video abgespielt wird. Dies kann zu ungenauen Anzeigenanalysen führen. Wenn Sie SSAI in Studio konfigurieren, geschieht dies automatisch, aber wenn Sie SSAI manuell einrichten, müssen Sie sich dieses Problems bewusst sein.
- Wenn der Webplayer SSAI verwendet und einer Ihrer Beweggründe darin besteht, Werbeblocker zu umgehen, sollten Sie serverseitige Beacons verwenden. Clientseitige Beacons sollten nicht verwendet werden, da sie blockiert werden.
Clientseitige Makros
Verwenden Sie die page
Präfix, wenn Sie clientseitige Anzeigenmakros verwenden möchten. Mit diesen Makros können Sie Variablen in den VMAP- und Server-URLs verwenden. Weitere Informationen zu Anzeigenmakros finden Sie im Anzeigenmakros und die ServerURL Abschnitt des Dokuments Werbung mit dem IMA3-Plug-in.
Clientseitigen Makros wird Folgendes vorangestellt: {{page.*}}
Um zum Beispiel die hinzuzufügen document.referrer
und ein pageVariable
DOM-Fenstervariable, würden Sie ihnen voranstellen page
in der Anzeigenvorlage wie folgt:
https://adserver.com/{{page.document.referrer}}/{{page.pageVariable.whateverIwant}}
Die Wiedergabe-API kehrt zurück document.referrer
und pageVariable.whateverIwant
an die VMAP- und SRC-URLs angehängt. Der Brightcove-Player durchläuft dann seine clientseitige Makroersetzungslogik, um die entsprechenden Werte zu ersetzen, bevor die Anforderung gesendet wird:
https://bolt-prefix/blah.vmap?document.referrer={document.referrer}&pageVariable.whateverIwant={pageVariable.whateverIwant}
Beacons für Anzeigenfehler
VAST-Anzeigenfehler-Beacons bei der Verwendung von SSAI können hilfreich sein, um Probleme mit Ihrem Anzeigenworkflow proaktiv zu finden und zu beheben. Einzelheiten finden Sie im Beacons für Anzeigenfehler mit SSAI dokumentieren.