Einleitung
Analysedaten werden automatisch von den Brightcove-Playern gesendet, einschließlich der von den Native Player-SDKs bereitgestellten. Wenn du bist nicht Wenn Sie einen Brightcove-Player zum Bereitstellen von Video Cloud-Videos verwenden, müssen Sie den Player instrumentieren, den Sie verwenden, um die Daten an den Datenkollektor zu senden.
Data Collection API v2 ist der aktuelle Standard. Die Version v1 ist veraltet. Wenn Sie eine v1-Implementierung haben, lesen Sie die Änderungen von v1 Abschnitt unten.
Sehen Sie sich neben dieser Übersicht und der API-Referenz auch diese Beispielimplementierung an.
Die Analytics Data Collection API ist der Endpunkt für Echtzeitanalyseereignisse. Ereignisdaten werden über eine Reihe von Parametern, die über HTTP-Anforderungen übermittelt werden, an Brightcove gesendet, z. B.:
https://metrics.brightcove.com/v2/tracker?event=video_view&domain=videocloud&account=123&video=789
Diese Parameter beschreiben a Tatsache über den Zustand des Systems, wenn ein Ereignis aufgetreten ist. Das obige Beispiel beschreibt die Tatsache, dass a video_view
Ereignis für Video aufgetreten 789
für Rechnung 123
(oder: ein Benutzer hat angefangen, ein Konto zu sehen 123
's Video 789
. Sehen unter für eine Beschreibung der aktuell verfolgten Analytics-Ereignisse).
Maße
Dimensionen sind qualitative Fakten über den Zustand des Systems, wenn ein Ereignis eintritt. Wenn die Anfrage beispielsweise lautet:
https://metrics.brightcove.com/tracker/v2/?event=video_view
&session=581136_2018-07-03T18:34:46.214Z
&domain=videocloud&account=123
&video=789
Die Video-ID ( 789
) und die Konto-ID ( 123
) sowie alle Geräte- und Standortinformationen, die aus der Anfrage selbst stammen, sind alle Dimensionen, die sich auf das video_view
Ereignis beziehen. Das Analytics-System zeichnet auf, dass a video_view
Ereignis trat ein, als diese Anfrage gestellt wurde, mit diesen Dimensionen.
Ereignis- und Domänenparameter
Die event
Parameter beschreibt, welches Ereignis aufgetreten ist. Die domain
Parameter stellt einen Namensraum für Ereignisse bereit. Die Parameter event
domain
, und session
sind erforderliche Parameter (der Wert von domain
ist immer videocloud
).
Zusätzliche Parameter
Bestimmte Parameter müssen in Ereignissen enthalten sein, damit das Analytics-System sie erfolgreich analysieren kann
Antworttypen
Die Antwort auf eine API-Anfrage zur Analysedatenerfassung enthält einen HTTP-Antwortcode und eine für Menschen lesbare Nachricht.
HTTP-Statuscode | Beschreibung | Beispiel |
---|---|---|
200 |
Die Anfrage wurde erfolgreich vom Collector empfangen und wurde beibehalten. | (gibt ein transparentes 1x1-Pixel-GIF-Bild zurück) |
400 |
In der vom Client gesendeten Anfrage fehlt ein erforderlicher Parameter: domain , account oder event . (Dieser Status wird nicht zurückgegeben, wenn domänenspezifische Parameter fehlen.) |
"Invalid 'event' parameter" |
50x |
Dieser Fehlercode weist auf ein Problem auf der Serverseite hin. Ihre Veranstaltung kann vom Analysesystem erfolgreich aufgezeichnet worden sein oder nicht. | "Server-side failure, please retry." |
VOD- und Live-Events
Live-Events
Die folgenden Bedingungen müssen erfüllt sein, damit die Data Collection API ein Ereignis als Live klassifizieren kann:
- Anfrage muss nicht haben den Parameter video_duration.
- Die Anfrage muss einen Kontoparameter haben.
- Anfrage muss Videoparameter haben.
-
Der Ereignistyp muss einer der folgenden sein:
play_request
video_impression
video_view
video_engagement
alive_ss_ad_start
- Das Konto muss vom Brightcove-Support für Live-Video-Streaming aktiviert werden.
VOD
- Sie müssen das nur
video_duration
bei Anfragen für VOD angeben. Sende niemals eine video_duration für Live-Streams. - Jede Anfrage, die a enthält
video_duration
Parameter wird klassifiziert als VOD.
Minimale Daten
Senden Sie mindestens eine session
id und video_view
Ereignis für jedes Video, das während einer Sitzung abgespielt wird. Das video_view
sollte gesendet werden nach dem Alle Pre-Roll-Anzeigen sind abgeschlossen.
session
Dies ist die Sitzungskennung. Die session
ist im Wesentlichen eine Ansicht einer Seite oder App-Ansicht, die einen Player enthält, solange diese andauert. Der Wert sollte für die Dauer der Sitzung konstant sein und für alle Veranstaltungen gesendet. Es sollte so nah wie möglich an einem Global Unique Identifier (GUID) liegen. Bei Kollisionen können die beiden Sitzungen als ungültig verworfen werden, wenn sie nicht entwirrt werden können.
Es gibt verschiedene Schemata zum Erstellen von GUIDs in JavaScript. Ein Beispiel ist in dieses GitHub-Repository. Beachten Sie, dass Skripte von Drittanbietern von Brightcove nicht unterstützt werden.
Minimale Daten für die Leistung (Spielrate und Engagement-Bewertung)
Veranstaltungen
video_impression
play_request
video_view
video_engagement
Attribute (alle Ereignisse)
account
video
Zusätzliche Attribute (video_engagement
Nur Veranstaltung)
VOD
range
video_duration
Lebe
video_seconds_viewed
HTTP-Header
User-Agent
- Erforderlich für Geräteberichte
Empfohlene Vorgehensweise
Um sicherzustellen, dass Sie die richtigen Daten an den Collector senden, sollten Sie Ihr Datenerfassungsskript testen, bevor Sie es allgemein bereitstellen. Wir empfehlen:
- Erstellen Sie das Datenerfassungsskript für Ihren Player.
- Testen Sie mindestens einen Tag in einer kontrollierten Umgebung.
- Überprüfen Sie die Analysedaten entweder über das Analysemodul oder über das Analytics API um sicherzustellen, dass das Gesammelte Ihren Erwartungen entspricht.
Anfrage senden – CORS-Probleme vermeiden
Junk-Daten
Im Allgemeinen werden Daten, die an den Collector gesendet werden, vom Analytics-System als wahr aufgezeichnet. Wenn ein Ereignis unangemessene oder falsche Informationen enthält, interpretiert das Analytics-System die Daten falsch.
Wenn Sie beispielsweise versehentlich den Zeitstempel als Video-ID senden, werden Ihre Analysedaten auf eine Weise verzerrt, die sich auf die Gesamtzusammenfassung auswirkt.
URI-Codierung
Alle Strings, die Sie an die Data Collection API senden, die Leerzeichen oder Sonderzeichen enthalten können muss URI-codiert sein damit die Anfrage erfolgreich ist. Wenn Sie die Anfrage über JavaScript senden, können Sie die encodeURI()
-Methode, um die Anforderungszeichenfolge zu codieren. Zum Beispiel:
urlStr += "&video=" + currentVideo.id + "&video_name=" + encodeURI(currentVideo.video_name);
Veranstaltungen
Die unten aufgeführten Ereignisse werden vom Analytics-System verarbeitet.
player_load
-
Absicht/Bedeutung
Eine Spielersitzung wurde von einem Endbenutzer initiiert. Dies markiert den Beginn der Analysesitzung und sollte vor allen anderen Ereignissen gesendet werden.
Beispiel
https://metrics.brightcove.com/tracker ?event=player_load &session=581136_2018-07-03T18:34:46.214Z &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F &source=http%3A-%2F%2Fwww.google.com %2Furl%3Fsa%3D-t%26rct%3Dj%26q%3D%26esrc%3Ds%26source %253A-%252F%252Fsupport.brightcove.com%252F%26ei%3D OdxWZSGdJ-pL7WJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg &domain=videocloud &account=1749339200 &time=1377191644796
error
-
Absicht/Bedeutung
Wird gesendet, wenn schwerwiegende Fehler auftreten, die das Wiedergabeerlebnis stören.
Beispiel
https://metrics.brightcove.com/tracker ?event=error &error_code=MEDIA_ERR_SRC_NOT_SUPPORTED &session=581136_2018-07-03T18:34:46.214Z &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F &source=http%3A-%2F%2Fwww.google.com %3Dhttp%253A-%252F%252Fsupport.brightcove.com %26usgWZSGdJ-pL7WJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg &domain=videocloud &account=1749339200 &time=1377191644796
catalog_request
-
Absicht/Bedeutung
Wird gesendet, wenn eine Anfrage an die Video Cloud-Wiedergabe-API gestellt wird.
Beispiel
https://metrics.brightcove.com/tracker ?event=catalog_request &session=581136_2018-07-03T18:34:46.214Z &catalog_url=https%3A%2F%2Fedge.api.brightcove.com%2Fplayback &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F &source=http%3A-%2F%2Fwww.google.com %3Dhttp%253A-%252F%252Fsupport.brightcove.com WZSGdJ-pL7WJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg &domain=videocloud&account=1749339200 &time=1377191644796
catalog_response
-
Absicht/Bedeutung
Wird gesendet, wenn eine Antwort auf eine vorherige
catalog_request
Ist angekommen.Beispiel
https://metrics.brightcove.com/tracker ?event=catalog_response &session=581136_2018-07-03T18:34:46. &catalog_url=https%3A%2F%2Fedge.api.brightcove.com%2Fp2F23823423800 &response_time_ms=243 &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F &source=http%3A-%2F%2Fwww.google.com 53A-%252F%252Fsupport.brightcove.com%252F%2Tzn-oCgCQ AFQjCNJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg &domain=videocloud &account=1749339200 &time=1377191644796
play_request
-
Absicht/Bedeutung
Wird gesendet, wenn die Wiedergabe initiiert wird, entweder durch den Benutzer, der ausdrücklich auf die Wiedergabeschaltfläche klickt, oder automatisch, wenn die Plattform die Wiedergabe in einem Auto-Play-Szenario auslöst. Beachten Sie, dass mehrere
play_request
Ereignisse können während einer einzelnen Betrachtungssitzung gesendet werden, wenn der Betrachter das Video anhält und fortsetzt.Beispiel
https://metrics.brightcove.com/tracker ?event=play_request &session=581136_2018-07-03T18:34:46.214Z &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F &source=http%3A-%2F%2Fwww.google.com %3Dhttp%253A-%252F%252Fsupport.brightcove.com%252F%2 dJ-pL7WJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg &domain=videocloud &account=1749339200 &video_duration=189 &time=1377191644796
ad_mode_begin
-
Absicht/Bedeutung
Wird gesendet, wenn die Kontrolle von der Wiedergabeplattform an einen Werbeagenten übergeben wird.
Beispiel
https://metrics.brightcove.com/tracker ?event=ad_mode_begin &session=581136_2018-07-03T18:34:46.214Z &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F &source=http%3A-%2F%2Fwww.google.com %3Dhttp%253A-%252F%252Fsupport.brightcove.com%252 %26usg%3DAFQjCNEtLod%3Dbv.51156542%2Cd.dmg &domain=videocloud &account=1749339200 &time=1377191644796
ad_mode_complete
-
Absicht/Bedeutung
Wird gesendet, wenn die Kontrolle von der Wiedergabeplattform an einen Werbeagenten übergeben wird.
Beispiel
https://metrics.brightcove.com/tracker ?event=ad_mode_complete &session=581136_2018-07-03T18:34:46.214Z &destination=http%3A-%2F%2Fsup-port.brightcove.com%2F &source=http%3A-%2F%2Fwww.google.com %3Dhttp%253A-%252F%252Fsupport.brightcove.com%252F%2 WZSGdJ-pL7WJaEeUJVlnw%26bvm%3Dbv.51156542%2Cd.dmg &domain=videocloud &account=1749339200 &time=1377191644796
video_impression
-
Absicht/Bedeutung
Die Metadaten für ein Video, das dem Player hinzugefügt wurde, wurden geladen und der Player ist bereit, das Anzeigeereignis entweder über automatische Wiedergabe oder Benutzerinteraktion auszulösen.
Beispiel
https://metrics.brightcove.com/tracker ?event=video_impression &session=581136_2018-07-03T18:34:46.214Z &destination=http%3A%2F%2Fwww.current-times.com%2F &time=1377191644801 &source=http%3A%2F%2Fwww.google.com %252-F%26ei%3DoEYWUtCgEIXq9ATznoCgCQ %26usg%3DAFQjCNEtLod-Odx6bvm%3Dbv.5115-6542%2Cd.dmg &video=2621468623001 &video_name=Democratic-Rivals%20Target%20Bill &video_duration=189 &domain=videocloud &account=1749339200
video_view
-
Absicht/Bedeutung
Die Wiedergabe eines Videos hat begonnen (entweder automatische Wiedergabe nach dem Laden oder aufgrund einer Benutzerinteraktion). Beachten Sie, dass nur eine
video_view
Ereignis wird während einer Betrachtungssitzung aufgezeichnet, selbst wenn der Betrachter stoppt und das Video neu startet oder wiedergibt.Beispiel
https://metrics.brightcove.com/tracker ?event=video_view &session=581136_2018-07-03T18:34:46.214Z &destination=http%3A%2F%2Fwww.current-times.com%2F &video=2621468623001 &video_name=Debate-2 &video_duration=189 &time=1377191666432 &source=http%3A%2F%2Fwww.google.com%2Furl% %252F%26ei%3DoEYWUtCgEIXq9ATznoCgCQ%26us-g %3DAFQjCNEtv.51156542%2Cd.dmg &domain=videocloud &account=1749339200
video_engagement
-
Absicht/Bedeutung
Ein Nutzer hat sich eine Reihe von Sekunden der Timeline eines Videos angesehen. Dieses Ereignis ist ein Herzschlag für die Verfolgung der Videointeraktion und wird wahrscheinlich viele Male während der Wiedergabe gesendet, abhängig von der Benutzerinteraktion und der Länge des Videos. Die Brightcove-Player-Instrumentierung sendet dieses Ereignis alle 10 Sekunden, wenn die Wiedergabe nicht unterbrochen wird. Ereignisse, die Bereiche von mehr als 20 Sekunden beschreiben, werden vom Analytics-System verworfen.
Beispiel
https://metrics.brightcove.com/tracker ?event=video_engagement &session=581136_2018-07-03T18:34:46.214Z &destination=http%3A%2F%2Fwww.current-times.com%2F &video=2621468623001 &video_name=Debate-2 &video_duration=189 &time=1377191676589 &range=0..9 &source=http%3A%2F%2Fwww.google.com %2Furl%3Fsa%3Dt-%26rct%3Dj%26q%3D%26esrc%3Ds %26source%3Dweb%26cd%3D1%26ved%3D0CDYQFjAA %26url%3Dhttp%253A%252F%252Fwww.current-times.com %252F%26ei%3DoEYWUtC-gEIXq9ATznoCgCQ %26usg%3DAFQjCNEtLodOdxWZSGdJpL7WJ.51156542%2Cd.dmg &domain=videocloud &account=1749339200
Parameter für alle Ereignisse
Parameter für diese Ereignisse sollten alle Informationen enthalten, die für den aktuellen Zustand des Systems zum Zeitpunkt des Ereignisses relevant sind, und so genau wie möglich sein. Dieser Abschnitt beschreibt Parameter, die mit allen Ereignissen gesendet werden können, und die folgenden Abschnitte zeigen Parameter für bestimmte Ereignisse.
Feld | Typ | Beschreibung |
---|---|---|
account |
Zeichenfolge |
Konto-ID |
domain |
Zeichenfolge |
immer gleich Zulässige Werte: |
session |
Zeichenfolge | Eine möglichst universell eindeutige Sitzungs-ID - siehe die Minimale Daten Abschnitt oben für weitere Informationen |
device_os optional |
Zeichenfolge |
Überschreiben Sie, um das Betriebssystem des Geräts anzugeben, das das Ereignis ausgelöst hat, in Fällen, in denen der User Agent unzuverlässig ist (ignoriert), es sei denn, sowohl das Gerätebetriebssystem als auch der Gerätetyp sind enthalten oder wenn der übermittelte Wert nicht in der hier angezeigten Werteliste enthalten ist. Normalerweise nicht enthalten) Zulässige Werte: |
device_os_version optional |
Zeichenfolge |
Die vom Gerät verwendete Betriebssystemversion. Wenn nicht angegeben, wird dies berechnet, indem der User-Agent-String für die Tracking-Anfrage analysiert wird |
device_type optional |
Zeichenfolge |
Überschreiben Sie, um den Typ des Geräts anzugeben, das das Ereignis ausgelöst hat, in Fällen, in denen der User Agent unzuverlässig ist (ignoriert), es sei denn, sowohl das Gerätebetriebssystem als auch der Gerätetyp sind enthalten oder wenn der übermittelte Wert nicht in der hier angezeigten Werteliste enthalten ist. Normalerweise nicht enthalten) Zulässige Werte: |
event |
Zeichenfolge |
der Veranstaltungstyp Zulässige Werte: |
destination optional |
Zeichenfolge |
URI, die das Ereignis verursacht hat |
source optional |
Zeichenfolge |
URI, die den Endbenutzer an die |
time optional |
Nummer |
der Zeitstempel für das Ereignis in Epochenzeit (Millisekunden) |
country optional |
Zeichenfolge |
ISO-3166 (Alpha 2) Region cISO-3166 (Alpha 2) Regionscode (überschreiben, falls das System keine geografischen Informationen von der IP-Adresse erkennen kann) Normalerweise nicht enthalten |
country_name optional |
Zeichenfolge |
Für Menschen lesbarer Ländername (überschreiben, falls das System keine geografischen Informationen aus der IP-Adresse erkennen kann) Normalerweise nicht enthalten |
region optional |
Zeichenfolge |
ISO-3166 (Alpha 2)-Regionscode (überschreiben, falls das System keine geografischen Informationen aus der IP-Adresse erkennen kann) Normalerweise nicht enthalten |
region_name optional |
Zeichenfolge |
Für Menschen lesbarer Regionsname (überschreiben, falls das System keine geografischen Informationen aus der IP-Adresse erkennen kann) Normalerweise nicht enthalten |
city optional |
Zeichenfolge |
Stadtname Normalerweise nicht enthalten |
user optional |
Zeichenfolge |
Eine eindeutige Benutzerkennung – wenn sie nicht angegeben oder leer ist, verwendet Video Cloud die Fallback-Methode der Verwendung der |
Benutzerparameter
- Wenn die Player-/Client-Anwendung den eindeutigen Viewer verfolgen möchte, sollte sie eine eindeutige ID für den Benutzer als Benutzerparameter an den Collector senden.
- Wenn die
user
nicht angegeben oder leer ist, verwenden wir die Fallback-Methode der Verwendung derSource IP address + the User-Agent String
als eindeutige Kennung. - Der Wert des Benutzerparameters wird nie in den Protokollen/Datenbanken gespeichert, nur ein Hash (mit SHA-256) wird gespeichert.
- Es werden keine Cookies vom Kollektor gesetzt.
Eindeutiger Benutzer
Sie können die Plug-in-Funktion von Brightcove Player verwenden, um den gemeldeten Analysen eindeutige Videobetrachterdaten hinzuzufügen. Dazu fügen Sie dem settings
Objekt der Analysefunktion eine eindeutige Kennung hinzu.
Natürlich ist die Erfassung einer eindeutigen Benutzer-ID von Anwendung zu Anwendung unterschiedlich. In diesem Code wird jedoch beispielsweise davon ausgegangen, dass eine Anmelde-URL erfasst wird, die eindeutige Benutzerdaten enthält, z. B. https://exampledomain.com/users/912389123. Diese eindeutige URL wird an das Plugin übergeben.
Der folgende Code des Plugins führt die folgenden Aufgaben aus:
- Verwendet die Standardsyntax zum Erstellen eines Brightcove Player-Plug-ins mit dem Plug-in-Namen definiert als
uniqueUserForAnalyticsPlugin
. Das Plugin akzeptiert auch einoptions
-Objekt, das an das Plugin übergebene Daten enthält. - Die
myPlayer
Variable wird eine Referenz auf den Player zugewiesen. Außerdem werden zwei weitere Variablen erstellt. - Die
userPath
Variable wird der Pfad zugewiesen, der über das Plugin an das Plugin übergeben wirdoptions
Objekt. - Der
uniqueViewer
Variablen wird die analysierte Version von zugewiesenuserPath
, sodass der Variablen nur die Ziffern der Benutzer-ID zugewiesen werden. - Dem Analytics-Plug-in wird eine Benutzereigenschaft hinzugefügt
settings
Objekt.
videojs.registerPlugin('uniqueUserForAnalyticsPlugin', function(options) {
var myPlayer = this,
userPath = '',
uniqueViewer = '';
//Assign uniqueViewer a value according to your app and business rules
//In this example, parsing the path passed to the plugin in the options object
userPath = options.path;
uniqueViewer = userPath.substring( userPath.lastIndexOf('/') + 1 );
//Assign a user variable to Analytic's settings object
myPlayer.bcAnalytics.client.user(USER) = uniqueViewer;
});
Dieser Code müsste an Ihre Anwendungslogik angepasst und dann unter einer über das Internet zugänglichen URL gespeichert werden.
Verwenden Sie in Studio die Plugins Abschnitt, um das Plugin wie gezeigt in den Player zu laden.
Anstelle des folgenden JSON würden Sie den String mit den Benutzerdaten an das Plugin übergeben. Natürlich müsste der Plugin-Code entsprechend aktualisiert werden, um die eindeutige Benutzer-ID zu extrahieren.
{
"path": "https://exampledomain.com/users/912389123"
}
Weitere Informationen zur Plugin-Entwicklung finden Sie im Schritt für Schritt: Plugin-Entwicklung dokumentieren.
device_type
, device_os
device_os_version
, device_manufacturer
, und browser_type
Parameter
Standardmäßig versucht das Analytics-System, Gerätetyp- und Betriebssysteminformationen aus dem User-Agent-Header zu erkennen. Wenn beide device_type
und gesendet device_os
werden, werden die Informationen aus dem User-Agent-Header zugunsten von device_type
und ignoriert device_os
. In den meisten Fällen müssen Sie keine Geräte-, Betriebssystem- und Browserinformationen senden -- diese Überschreibung sollte nur verwendet werden, wenn der User-Agent unzuverlässig oder anderweitig nicht verfügbar ist.
Das Analytics-System zeichnet auf other
wenn eine Anforderung unbekannte Werte für Geräteparameterüberschreibungen enthält.
Geografische Daten Parameter
Standardmäßig versucht das Analytics-System, geografische Informationen von der Remote-IP-Adresse zu erkennen. Dieses Verhalten kann durch die Übergabe von country
, , country_name
region
region_name
, city
und außer Kraft gesetzt werden dma
Parameter. In den meisten Fällen sind diese Parameter nicht erforderlich -- Diese Überschreibung sollte nur verwendet werden, wenn die Remote-IP-Adresse unzuverlässig oder anderweitig nicht verfügbar ist.
Das Analytics-System zeichnet auf ZZ
oder unknown
wenn eine Anforderung nicht erkannte Werte für Überschreibungen enthält.
Ziel- und Quellparameter
Der destination
Und source
Parameter stellen den URI bereit, der das Ereignis ausgelöst hat ( destination
) und die URI, die den Benutzer dorthin geschickt hat ( source
).
Die source
Parameter wird verwendet, um Informationen zur Verkehrsquelle zu bestimmen. Wenn source
nicht angegeben ist, behandelt das Analytics-System Ereignisse als durch direkten Traffic initiiert.
Die destination
Parameter wird verwendet, um Verkehrszielinformationen zu bestimmen, dh wo das Video angesehen wird. Wenn die URI keine Autorität enthält, zeichnet die API keine auf destination_domain
. Die destination_path
wird als Pfad in der URI aufgezeichnet.
Während der Webwiedergabe ist die URL in der Adressleiste der Seite, auf der das Video abgespielt wird destination
, der und der source
ist der Referrer ( top.document.referrer
).
Wenn Sie beispielsweise auf der Brightcove-Support-Website nach "Live-Streaming-Wirecast" suchen und ein Video ansehen, das in den Ergebnissen angezeigt wird:
Parameter | Wert |
---|---|
source |
|
destination |
|
Wenn keine URL vorhanden ist (wie zum Beispiel bei der nativen Wiedergabe), beide destination
und source
sollten gültige URIs sein, die angeben, wo das Video wiedergegeben wird bzw. wie der Benutzer dorthin gelangt ist.
Angenommen, die destination
ist ein gültige URI:
<scheme name> : <hierarchical part> [ ? <query> ] [ # <fragment> ]
ex. https://www.example.com/foo/bar/baz
--------------/----------/
| |
authority path
---/ -------------------------/
| |
scheme hierarchical part
das Analytics-System wird es wie folgt handhaben:
Wenn die URI eine Autorität enthält, verwendet die API-Antwort diese Autorität als die destination_domain
und jeden angegebenen Pfad als destination_path
. Wenn die URI keine Autorität enthält, zeichnet die API keine auf destination_domain
. Die destination_path
wird als Pfad in der URI aufgezeichnet. EIN destination
ohne einen hierarchischen Teil (zB nur ein Schema) gilt ebenso als ungültig, ebenso wie jeder Wert ohne Schema.
Parameter für bestimmte Ereignisse
Fehlerereignisparameter
Die folgenden Parameter sollten mit gesendet werden error
Veranstaltungen.
Feld | Typ | Beschreibung |
---|---|---|
error_code optional |
Nummer |
Ein plattformspezifischer Fehlercode, der mit dem Ereignis verknüpft ist |
catalog_request Ereignisparameter
Die folgenden Parameter sollten mit gesendet werden catalog_request
Veranstaltungen.
Feld | Typ | Beschreibung |
---|---|---|
catalog_url optional |
Zeichenfolge |
Die mit dem Ereignis catalog_request verknüpfte Ziel-URL |
catalog_response-Ereignisparameter
Die folgenden Parameter sollten mit gesendet werden catalog_response
Veranstaltungen.
Feld | Typ | Beschreibung |
---|---|---|
catalog_url optional |
Zeichenfolge |
Die Ziel-URL, die mit dem Ereignis catalog_request verknüpft ist, das diese Antwort initiiert hat |
response_time_ms optional |
Nummer |
Die Zeit in Millisekunden zwischen dem Ereignis catalog_request und dem Ereignis catalog_response |
video_impression-Ereignisparameter
Die folgenden Parameter sollten mit gesendet werden video_impression
Veranstaltungen.
Feld | Typ | Beschreibung |
---|---|---|
video optional |
Zeichenfolge |
die Video-ID |
video_name optional |
Zeichenfolge |
der Videoname |
video_view-Ereignisparameter
Die folgenden Parameter sollten mit gesendet werden video_view
Veranstaltungen.
Feld | Typ | Beschreibung |
---|---|---|
video optional |
Zeichenfolge |
die Video-ID |
video_name optional |
Zeichenfolge |
der Videoname |
start_time_ms optional |
Zeichenfolge |
Die Zeit in Millisekunden zwischen dem Beginn der Wiedergabe und dem ersten Frame des gerenderten Videos. Dies kann je nach Erfahrung unterschiedlich sein. Wenn beispielsweise keine Pre-Roll-Anzeigen konfiguriert sind, ist diese Messung die Zeit zwischen den |
video_engagement-Ereignisparameter
Die folgenden Parameter sollten mit gesendet werden video_engagement
Veranstaltungen.
Feld | Typ | Beschreibung |
---|---|---|
video optional |
Zeichenfolge |
die Video-ID |
video_name optional |
Zeichenfolge |
der Videoname |
range optional |
Zeichenfolge |
die Reichweite des Videos, für das angesehen wird |
rendition_url optional |
Zeichenfolge |
Die URL zur zuletzt ausgewählten Wiedergabeversion. Bei einem HLS-Stream wäre dies beispielsweise die URL zur zuletzt ausgewählten Variante |
rendition_indicated_bps optional |
Zeichenfolge |
Die angezeigte Bitrate in Bits pro Sekunde der zuletzt ausgewählten Wiedergabe |
rendition_mime_type optional |
Zeichenfolge |
Der Mime-Typ der zuletzt ausgewählten Wiedergabe |
rendition_height optional |
Zeichenfolge |
Die codierte Höhe der Videowiedergabe in Pixel |
rendition_width optional |
Zeichenfolge |
Die codierte Breite der Videowiedergabe in Pixel |
rebuffering_seconds optional |
Zeichenfolge |
Die Anzahl der Sekunden, die der Nutzer aufgrund einer nicht angeforderten Verzögerung während des Interaktionszeitraums auf die Wiedergabe des Videos gewartet hat |
rebuffering_count optional |
Zeichenfolge |
Die Häufigkeit, mit der die Wiedergabe aufgrund von Neupufferung während der dargestellten Eingriffsperiodenverzögerung während der Eingriffsperiode angehalten wurde |
forward_buffer_seconds optional |
Zeichenfolge |
Die Anzahl der Sekunden des Videos, die sich derzeit im Vorwärtspuffer befinden |
measured_bps optional |
Zeichenfolge |
Das Verhältnis der Anzahl der im zuletzt heruntergeladenen Segment enthaltenen Bits zur Zeit, die für das Herunterladen dieses Segments aufgewendet wurde, in Bits pro Sekunde |
player_width optional |
Zeichenfolge |
Die aktuelle Pixelbreite des Spielers am Ende des Eingriffsbereichs |
player_height optional |
Zeichenfolge |
Die aktuelle Pixelhöhe des Spielers am Ende des Eingriffsbereichs |
dropped_frames optional |
Zeichenfolge |
dropped_frames |
video_duration optional |
Nummer |
die Dauer des Videos in Sekunden |
video_seconds_viewed optional |
Nummer |
Anzahl der beobachteten Sekunden seit dem letzten Update für |
Die video_engagement
Ereignis ist ein Mittel zum Verfolgen von Videointeraktionen während der Wiedergabe eines Videos und wird während der Wiedergabe wahrscheinlich viele Male gesendet. (Die Flash-/HTML5-Player-Instrumentierung sendet dieses Ereignis alle 10 Sekunden, wenn die Wiedergabe nicht unterbrochen wird.) Derzeit werden Ereignisse, die Bereiche von mehr als 20 Sekunden beschreiben, vom Analytics-System verworfen, sodass diese Ereignisse häufiger gesendet werden müssen.
Es gibt zwei Formen, die a video_engagement
Event kann annehmen (andere Parameter aus Gründen der Kürze weggelassen):
Beispiel | Bedeutung |
---|---|
|
Video 123 mit einer Dauer von 75 Sekunden gespielt Sekunden 0 bis 9 (für insgesamt 10 Sekunden angesehen). |
event=video_engagement&video=123&video_seconds_viewed=10 |
10 Sekunden Video 123 wie haben überprüft. |
Während beide Versionen die angezeigten Sekunden verfolgen, ist die Version mit video_duration
und range
enthält auch Informationen, die zur Berechnung zusätzlicher Engagement-Daten erforderlich sind, und ist der bevorzugte Weg senden video_engagement
Ereignisdaten an das Analytics-System. Bei Livestreams oder in Fällen, in denen sich die Zeitachse des Videos während der Wiedergabe ständig ändert oder anderweitig unzuverlässig ist, video_seconds_viewed
werden die einzigen verfügbaren Daten sein. Für VOD, es sei denn duration
ist nicht verfügbar, die video_engagement
Veranstaltung sollte beinhalten video_duration
und range
.
Parameter | Abgeleitete Engagement-Messwerte (API) |
---|---|
video_duration , range |
video_seconds_viewed , video_percent_viewed , engagement_score ; Daten zur Engagement-Kurve |
video_seconds_viewed |
video_seconds_viewed |
Wenn alle drei Parameter ( video_duration
, range
und video_seconds_viewed
) zusammen mit einem video_engagement
Ereignis gesendet werden, berechnet das Analytics-System die Engagement-Metriken anhand des video_duration
+ range
Parameter.
V2-Änderungen
Dieser Abschnitt bietet eine Zusammenfassung der Änderungen von v1 zu v2 des Datenkollektors für diejenigen, die v1 verwendet haben.
Basis-URL für Tracker
http(s)://metrics.brightcove.com/v2
Zusätzliche Felder, die bei allen Ereignissen unterstützt werden:
device_os_version: Die vom Gerät verwendete Betriebssystemversion. Wenn nicht angegeben, wird dies durch Analysieren der Benutzeragentenzeichenfolge für die Tracking-Anfrage berechnet.
Plattformversion: Wird verwendet, um anzuzeigen, dass eine neue Version der angegebenen Plattform zum Senden der Ereignisse verwendet wird.
Neue Ereignisse für V2
katalog_anfrage: Wird gesendet, wenn eine Anfrage an die videocloud-Katalog-API gestellt wird. Beachten Sie, dass dieses Ereignis für den internen Gebrauch bestimmt ist und nicht im Analytics-Modul oder über die Analytics-API angezeigt wird.
- katalog_url: Die mit dem verknüpfte Ziel-URL
catalog_request
Ereignis - Beachten Sie, dass dieses Ereignis für den internen Gebrauch bestimmt ist und nicht im Analytics-Modul oder über die Analytics-API angezeigt wird.
Antwort des Katalogs: Wird gesendet, wenn eine Antwort auf eine vorherige catalog_request
wird empfangen - beachten Sie, dass dieses Ereignis für den internen Gebrauch bestimmt ist und nicht im Analytics-Modul oder über die Analytics-API verfügbar gemacht wird.
- katalog_url: Die mit dem verknüpfte Ziel-URL
catalog_request
Ereignis, das diese Antwort ausgelöst hat. Beachten Sie, dass dieses Ereignis für den internen Gebrauch bestimmt ist und nicht im Analytics-Modul oder über die Analytics-API angezeigt wird. - response_time_ms: Die Zeit in Millisekunden zwischen den
catalog_request
Veranstaltung und diecatalog_response
Ereignis - Beachten Sie, dass dieses Ereignis für den internen Gebrauch bestimmt ist und nicht im Analytics-Modul oder über die Analytics-API angezeigt wird.
play_request: Wird gesendet, wenn die Wiedergabe initiiert wird, entweder durch den Benutzer, der ausdrücklich auf die Wiedergabeschaltfläche klickt, oder automatisch, wenn die Plattform die Wiedergabe in einem Auto-Play-Szenario auslöst.
ad_mode_begin: [Ersetzt ad_start
] Wird gesendet, wenn die Kontrolle von der Wiedergabeplattform an einen Werbeagenten übergeben wird.
ad_mode_complete: [Ersetzt ad_end
] Wird gesendet, wenn die Kontrolle vom Werbeagenten an die Wiedergabeplattform zurückgegeben wird.
Fehler: Wird gesendet, wenn schwerwiegende Fehler auftreten, die das Wiedergabeerlebnis stören.
- Fehlercode: Ein plattformspezifischer Fehlercode, der dem Ereignis zugeordnet ist.
Aktualisierte Ereignisse für V2
video_view: Enthält neue Latenzmessungen
- load_time_ms: Die Zeit in Millisekunden zwischen dem Initiieren des Datenladens für das Video und dem Abspielen des Videos.
- start_time_ms: Die Zeit in Millisekunden zwischen dem Beginn der Wiedergabe und dem ersten Frame des gerenderten Videos. Dies kann je nach Erfahrung unterschiedlich sein. Wenn beispielsweise keine Pre-Roll-Anzeigen konfiguriert sind, ist diese Messung die Zeit zwischen 'play_request' und
video_view
Veranstaltungen. Wenn eine Preroll-Anzeige vorhanden ist, die Zeit zwischenad_mode_begin
undad_mode_complete
sollte nicht enthalten sein.
video_engagement: Enthält zusätzliche Wiedergabeauswahl, Bitratenmessungen und Pufferungsinformationen. Es wurde auch eine subtile Änderung am Video-Engagement vorgenommen, indem es regelmäßig gesendet werden sollte, auch wenn während des Engagement-Zeitraums keine Anzeige stattfand. Diese Änderung soll die Verfolgung von Verzögerungen und Zählungen beim erneuten Puffern ermöglichen, die dazu führen, dass Benutzer auf die Wiedergabe warten.
- Reichweite: Der Bereichsparameter ist jetzt optional. Der Bereich kann bei einem Engagement-Ereignis weggelassen werden, um anzuzeigen, dass während des vom Ereignis abgedeckten Zeitraums keine Anzeigeaktivität stattgefunden hat. (z. B. wenn nur eine erneute Pufferung stattfindet)
- rendition_url: Die URL zur zuletzt ausgewählten Wiedergabeversion. Bei einem HLS-Stream wäre dies beispielsweise die URL zur zuletzt ausgewählten Variante.
- rendition_indicated_bps: Die angegebene Bitrate in Bits pro Sekunde der zuletzt ausgewählten Wiedergabe.
- rendition_mime_type: Der Mime-Typ der zuletzt ausgewählten Wiedergabe.
- Rendition_Höhe: Die codierte Höhe der Videowiedergabe in Pixel
- Wiedergabebreite: Die codierte Breite der Videowiedergabe in Pixel
- rebuffering_seconds: Die Anzahl der Sekunden, die der Nutzer aufgrund einer nicht angeforderten Verzögerung während des Interaktionszeitraums auf die Wiedergabe des Videos gewartet hat.
- rebuffering_count: Die Häufigkeit, mit der die Wiedergabe während des dargestellten Eingriffszeitraums aufgrund einer erneuten Pufferung angehalten wurde.
- forward_buffer_seconds: Die Anzahl der Sekunden des Videos, die sich derzeit im Vorwärtspuffer befinden.
- gemessen_bps: Das Verhältnis der Anzahl der im zuletzt heruntergeladenen Segment enthaltenen Bits zur Zeit, die für das Herunterladen dieses Segments aufgewendet wurde, in Bits pro Sekunde.
- player_width Die aktuelle Pixelbreite des Spielers am Ende des Angriffsbereichs.
- player_height Die aktuelle Pixelhöhe des Spielers am Ende des Angriffsbereichs.
- dropped_frames: Die Anzahl der Frames, die während dieses Interaktionszeitraums bei der Videowiedergabe ausgelassen wurden