Introduction
Les données analytiques sont envoyées automatiquement par les Brightcove Players, y compris celles fournies par les SDK Native Player. Si vous êtes ne pas en utilisant un Brightcove Player pour diffuser des vidéos Video Cloud, vous devez instrumenter le lecteur que vous utilisez pour envoyer les données au Data Collector.
L'API de collecte de données v2 est la norme actuelle. La version v1 est obsolète. Si vous avez une implémentation v1, consultez le Changements depuis la v1 rubrique ci-dessous.
En plus de cet aperçu et de la Référence API , voir aussi ceci exemple de mise en œuvre.
L'API de collecte de données d'analyse est le point de terminaison des événements d'analyse en temps réel. Les données d'événement sont envoyées à Brightcove via une série de paramètres soumis via des requêtes HTTP, tels que :
https://metrics.brightcove.com/v2/tracker?event=video_view&domain=videocloud&account=123&video=789
Ces paramètres décrivent un fait sur l'état du système lorsqu'un événement s'est produit. L'exemple ci-dessus décrit le fait qu'un video_view
l'événement s'est produit pour la vidéo 789
pour le compte 123
(ou : un utilisateur a commencé à regarder son compte 123
la vidéo de 789
. Voir au dessous de pour une description des événements analytiques en cours suivis).
Dimensions
Les dimensions sont des faits qualitatifs sur l'état du système lorsqu'un événement se produit. Par exemple, si la demande est :
https://metrics.brightcove.com/tracker/v2/?event=video_view
&session=581136_2018-07-03T18:34:46.214Z
&domain=videocloud&account=123
&video=789
L'identifiant de la vidéo ( 789
) et l'identifiant du compte ( 123
), et toutes les informations sur l'appareil et l'emplacement glanées à partir de la demande elle-même sont toutes des dimensions liées au video_view
un événement. Le système Analytics enregistrera qu'un video_view
événement s'est produit lorsque cette demande a été faite, avec ces dimensions.
Paramètres d'événement et de domaine
Les event
Le paramètre décrit quel événement s'est produit. Les domain
Le paramètre fournit un espace de noms pour les événements. Les event
, domain
, et session
sont des paramètres obligatoires (la valeur de domain
est toujours videocloud
).
Paramètres supplémentaires
Certains paramètres doivent être inclus avec les événements afin que le système Analytics puisse les analyser avec succès
Types de réponse
La réponse à une demande d'API de collecte de données analytiques comprend un code de réponse HTTP et un message lisible par l'homme.
Code d'état HTTP | Description | Exemple |
---|---|---|
200 |
La demande a été reçue avec succès par le collecteur et a été conservée. | (renvoie une image GIF transparente de 1x1 pixel) |
400 |
Il manque un paramètre obligatoire à la requête envoyée par le client : domain , account ou event . (Ce statut ne sera pas renvoyé si des paramètres spécifiques au domaine sont manquants.) |
"Invalid 'event' parameter" |
50x |
Ce code d'erreur indique un problème côté serveur. Votre événement peut ou non avoir été enregistré avec succès par le système d'analyse. | "Server-side failure, please retry." |
VOD et événements en direct
Événements en direct
Les conditions suivantes doivent être remplies pour que l'API de collecte de données classe un événement comme Habitent:
- La demande doit ne pas avoir le paramètre video_duration.
- La demande doit avoir un paramètre de compte.
- La demande doit avoir un paramètre vidéo.
-
Le type d'événement doit être l'un des suivants :
play_request
video_impression
video_view
video_engagement
alive_ss_ad_start
- Le compte doit être activé par le support Brightcove pour la diffusion vidéo en direct.
VOD
- Vous devez les inclure uniquement dans
video_duration
les demandes de VOD. N'envoyez jamais de video_duration pour les diffusions en direct. - Toute demande contenant un
video_duration
le paramètre sera classé comme VOD.
Données minimales
Au minimum, vous devez envoyer un session
identifiant et video_view
événement pour chaque vidéo jouée au cours d'une session. Le video_view
devrait être envoyé après toutes les annonces pré-roll terminées.
session
Il s'agit de l'identifiant de la session. Les session
est essentiellement une vue d'une page ou d'une application contenant un lecteur, aussi longtemps que cela dure. La valeur doit être constante pendant toute la durée de la session et envoyé pour tous les événements. Il doit être aussi proche que possible d'un identificateur global unique (GUID). S'il y a des collisions, les deux sessions peuvent être rejetées comme invalides si elles ne peuvent pas être démêlées.
Il existe différents schémas de création de GUID en JavaScript. Un exemple est dans ce référentiel GitHub. Veuillez noter que les scripts tiers ne sont pas pris en charge par Brightcove.
Données minimales pour la performance (taux de lecture et score d'engagement)
Evénements
video_impression
play_request
video_view
video_engagement
Attributs (tous les événements)
account
video
Attributs supplémentaires (video_engagement
événement uniquement)
VOD
range
video_duration
Habitent
video_seconds_viewed
En-têtes HTTP
User-Agent
- Obligatoire pour les rapports sur les appareils
Les meilleures pratiques
Pour être sûr que vous envoyez les données correctes au collecteur, vous devez tester votre script de collecte de données avant de le déployer de manière générale. Nous recommandons:
- Créez le script de collecte de données pour votre lecteur.
- Testez dans un environnement contrôlé pendant au moins une journée.
- Vérifiez les données d'analyse via le module Analytics ou le Analytics API pour vous assurer que ce qui a été collecté correspond à vos attentes.
Envoi de la demande - éviter les problèmes CORS
Données indésirables
En général, les données envoyées au Collecteur seront enregistrées comme étant vraies par le système Analytics. Si un événement contient des informations inappropriées ou incorrectes, le système Analytics interprétera les données de manière incorrecte.
Par exemple, si vous envoyez accidentellement l'horodatage en tant qu'ID vidéo, vos données d'analyse seront faussées d'une manière qui affectera la synthèse globale.
Encodage URI
Toutes les chaînes que vous envoyez à l'API de collecte de données qui peuvent contenir des espaces ou des caractères spéciaux doit être codé en URI pour que la demande aboutisse. Si vous soumettez la demande via JavaScript, vous pouvez utiliser le encodeURI()
méthode pour coder la chaîne de requête. Par exemple :
urlStr += "&video=" + currentVideo.id + "&video_name=" + encodeURI(currentVideo.video_name);
Evénements
Les événements répertoriés ci-dessous sont traités par le système Analytics.
player_load
-
Intention/Signification
Une session de joueur a été lancée par un utilisateur final. Cela marque le début de la session d'analyse et doit être envoyé avant tout autre événement.
Exemple
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
-
Intention/Signification
Envoyé lorsque des erreurs fatales qui perturbent l'expérience de lecture sont rencontrées.
Exemple
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
-
Intention/Signification
Envoyé lorsqu'une requête à l'API de lecture Video Cloud est effectuée.
Exemple
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
-
Intention/Signification
Envoyé lorsqu'une réponse à un précédent
catalog_request
est reçu.Exemple
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
-
Intention/Signification
Envoyé lorsque la lecture est lancée soit par l'utilisateur en cliquant expressément sur le bouton de lecture, soit automatiquement lorsque la plate-forme déclenche la lecture dans un scénario de lecture automatique. Notez que plusieurs
play_request
les événements peuvent être envoyés au cours d'une seule session de visionnage si le spectateur s'interrompt et reprend la vidéo.Exemple
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
-
Intention/Signification
Envoyé lorsque le contrôle est remis à un agent de publicité par la plateforme de lecture.
Exemple
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
-
Intention/Signification
Envoyé lorsque le contrôle est remis à un agent de publicité par la plateforme de lecture.
Exemple
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
-
Intention/Signification
Les métadonnées d'une vidéo ajoutée au lecteur ont fini de se charger et le lecteur est prêt à déclencher l'événement de visualisation, via la lecture automatique ou l'interaction de l'utilisateur.
Exemple
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
-
Intention/Signification
La lecture d'une vidéo a commencé (soit en lecture automatique après le chargement, soit en raison de l'interaction de l'utilisateur). Notez qu'un seul
video_view
l'événement est enregistré pendant une session de visionnage même si le spectateur s'arrête et redémarre ou rejoue la vidéo.Exemple
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
-
Intention/Signification
Un utilisateur a regardé une plage de secondes de la chronologie d'une vidéo. Cet événement est un battement de cœur pour suivre l'engagement vidéo et sera probablement envoyé plusieurs fois pendant la lecture, en fonction de l'interaction de l'utilisateur et de la durée de la vidéo. L'instrumentation du lecteur Brightcove envoie cet événement toutes les 10 secondes, si la lecture n'est pas interrompue. Les événements décrivant des plages supérieures à 20 secondes sont ignorés par le système Analytics.
Exemple
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
Paramètres pour tous les événements
Les paramètres de ces événements doivent inclure toute information pertinente à l'état actuel du système lorsque l'événement s'est produit, et être aussi précis que possible. Cette section détaille les paramètres qui peuvent être envoyés avec tous les événements, et les sections suivantes présentent les paramètres d'événements spécifiques.
Champ | Type | Description |
---|---|---|
account |
Chaîne |
ID du compte |
domain |
Chaîne |
toujours égal à Valeurs autorisées : |
session |
Chaîne | Un identifiant de session qui est aussi universellement unique que possible - voir le Données minimales section ci-dessus pour plus d'informations |
device_os optionnel |
Chaîne |
Remplacer pour spécifier le système d'exploitation du périphérique à l'origine de l'événement dans les cas où l'agent utilisateur n'est pas fiable (ignoré sauf si le système d'exploitation et le type de périphérique sont inclus ou si la valeur soumise ne figure pas dans la liste de valeurs affichée ici. Généralement pas inclus) Valeurs autorisées : |
device_os_version optionnel |
Chaîne |
La version du système d'exploitation utilisée par l'appareil. Lorsqu'il n'est pas spécifié, cela sera calculé en analysant la chaîne de l'agent utilisateur pour la demande de suivi |
device_type optionnel |
Chaîne |
Remplacer pour spécifier le type de périphérique à l'origine de l'événement dans les cas où l'agent utilisateur n'est pas fiable (ignoré sauf si le système d'exploitation et le type de périphérique sont inclus ou si la valeur soumise ne figure pas dans la liste de valeurs affichée ici. Généralement pas inclus) Valeurs autorisées : |
event |
Chaîne |
le type d'événement Valeurs autorisées : |
destination optionnel |
Chaîne |
URI à l'origine de l'événement |
source optionnel |
Chaîne |
URI qui a envoyé l'utilisateur final au |
time optionnel |
Numéro |
l'horodatage de l'événement en temps d'époque (millisecondes) |
country optionnel |
Chaîne |
Code de région ISO-3166 (alpha 2) cISO-3166 (alpha 2) (remplacement au cas où le système ne peut pas détecter les informations géographiques à partir de l'adresse IP) Généralement pas inclus |
country_name optionnel |
Chaîne |
Nom de pays lisible par l'homme (remplacement au cas où le système ne peut pas détecter les informations géographiques à partir de l'adresse IP) Généralement pas inclus |
region optionnel |
Chaîne |
Code de région ISO-3166 (alpha 2) (remplacement au cas où le système ne peut pas détecter les informations géographiques à partir de l'adresse IP) Généralement pas inclus |
region_name optionnel |
Chaîne |
Nom de région lisible par l'homme (remplacement au cas où le système ne peut pas détecter les informations géographiques à partir de l'adresse IP) Généralement pas inclus |
city optionnel |
Chaîne |
Nom de Ville Généralement pas inclus |
user optionnel |
Chaîne |
Un identifiant d'utilisateur unique - s'il n'est pas fourni ou vide, Video Cloud utilise la méthode de secours consistant à utiliser le |
Paramètre utilisateur
- Si l'application lecteur/client souhaite suivre le lecteur unique, elle doit envoyer un identifiant unique pour l'utilisateur en tant que paramètre utilisateur au collecteur.
- Si la
user
n'est pas fourni ou est vide, nous utilisons la méthode de secours consistant à utiliser leSource IP address + the User-Agent String
comme identifiant unique. - La valeur du paramètre utilisateur n'est jamais stockée dans les journaux/base de données, seul un hachage (utilisant SHA-256) est stocké.
- Aucun cookie n'est défini par le collecteur.
Utilisateur unique
Vous pouvez utiliser la fonctionnalité de plug-in de Brightcove Player pour ajouter des données de visionneuse vidéo uniques aux analyses signalées. Pour ce faire, vous ajouterez un identifiant unique au settings
objet de la fonctionnalité d'analyse.
Bien entendu, la manière dont l'identifiant unique de l'utilisateur est capturé varie d'une application à l'autre, mais à titre d'exemple, ce code suppose qu'une URL de connexion est capturée et qu'elle contient des données uniques sur l'utilisateur, telles que https://exampledomain.com/users/912389123. Cette URL unique est transmise au plugin.
Le code du plugin ci-dessous effectue les tâches suivantes :
- Utilise la syntaxe standard pour créer un plug-in Brightcove Player avec le nom du plug-in défini comme
uniqueUserForAnalyticsPlugin
. Le plugin accepte également unoptions
objet, qui contient les données transmises au plugin. - Les
myPlayer
variable est assignée une référence au joueur. De plus, deux autres variables sont créées. - Les
userPath
variable se voit attribuer le chemin passé au plugin via leoptions
objet. - Les
uniqueViewer
la variable est affectée à la version analysée de lauserPath
, de sorte que seuls les chiffres de l'ID utilisateur sont affectés à la variable. - Une propriété utilisateur est ajoutée au plug-in Analytics
settings
objet.
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;
});
Ce code devra être modifié pour s'adapter à la logique de votre application, puis enregistré dans une URL accessible sur Internet.
Depuis Studio, utilisez le Plugins section pour charger le plugin dans le lecteur, comme indiqué.
Au lieu du JSON qui suit, vous passerez au plugin la chaîne contenant les données utilisateur. Bien entendu, le code du plugin devra être mis à jour en conséquence pour extraire l'ID utilisateur unique.
{
"path": "https://exampledomain.com/users/912389123"
}
Pour plus d'informations sur le développement de plugins, consultez le Pas à pas: Développement de plugins document.
device_type
, device_os
, device_os_version
, device_manufacturer
, et browser_type
paramètres
Par défaut, le système Analytics tentera de détecter le type de périphérique et les informations du système d'exploitation à partir de l'en-tête User-Agent. Si les deux device_type
et device_os
sont envoyées, les informations de l'en-tête User-Agent seront ignorées au profit de device_type
et device_os
. Dans la plupart des cas, vous n'avez pas besoin d'envoyer des informations sur l'appareil, le système d'exploitation et le navigateur -- ce remplacement ne doit être utilisé que si l'agent utilisateur n'est pas fiable ou n'est pas disponible.
Le système Analytics enregistrera other
si une demande inclut des valeurs non reconnues pour les remplacements de paramètres de périphérique.
Données géographiques Paramètres
Par défaut, le système Analytics tentera de détecter les informations géographiques à partir de l'adresse IP distante. Ce comportement peut être annulé en passant country
, country_name
, region
, region_name
, city
et dma
paramètres. Dans la plupart des cas, ces paramètres ne sont pas nécessaires -- ce remplacement ne doit être utilisé que si l'adresse IP distante n'est pas fiable ou n'est pas disponible.
Le système Analytics enregistrera ZZ
ou unknown
si une demande inclut des valeurs non reconnues pour les remplacements.
Paramètres de destination et de source
Les destination
et source
Les paramètres fournissent l'URI à l'origine de l'événement ( destination
) et l'URI qui y a envoyé l'utilisateur ( source
).
Les source
est utilisé pour déterminer les informations sur la source de trafic. Si source
n'est pas spécifié, le système Analytics traitera les événements comme étant initiés par le trafic direct.
Les destination
sera utilisé pour déterminer les informations de destination du trafic, c'est-à-dire l'endroit où la vidéo est regardée. Si l'URI ne contient pas d'autorité, l'API n'enregistrera pas de destination_domain
. Les destination_path
sera enregistré comme chemin dans l'URI.
Pendant la lecture Web, l'URL dans la barre d'adresse de la page où la vidéo est lue est le destination
, et le source
est le référent ( top.document.referrer
).
Exemple :
Paramètre | Montant |
---|---|
source |
|
destination |
|
S'il n'y a pas d'URL (comme dans le cas de la lecture native, par exemple), les deux destination
et source
doivent être des URI valides qui identifient respectivement où la vidéo est lue et comment l'utilisateur y est arrivé.
En supposant que le destination
est un URI valide:
<scheme name> : <hierarchical part> [ ? <query> ] [ # <fragment> ]
ex. https://www.example.com/foo/bar/baz
--------------/----------/
| |
authority path
---/ -------------------------/
| |
scheme hierarchical part
le système Analytics le traitera comme suit :
Si l'URI contient un autorité , la réponse de l'API utilisera cette autorité comme destination_domain
et tout chemin fourni en tant que destination_path
. Si l'URI ne contient pas d'autorité, l'API n'enregistrera pas de destination_domain
. Les destination_path
sera enregistré comme chemin dans l'URI. UNE destination
sans partie hiérarchique (par exemple juste un schéma) est considérée comme invalide, de même que toute valeur sans schéma.
Paramètres pour des événements spécifiques
paramètres d'événement d'erreur
Les paramètres suivants doivent être envoyés avec error
événements.
Champ | Type | Description |
---|---|---|
error_code optionnel |
Numéro |
Un code d'erreur spécifique à la plate-forme associé à l'événement |
paramètres d'événement catalog_request
Les paramètres suivants doivent être envoyés avec catalog_request
événements.
Champ | Type | Description |
---|---|---|
catalog_url optionnel |
Chaîne |
L'url de destination associée à l'événement catalog_request |
paramètres d'événement catalog_response
Les paramètres suivants doivent être envoyés avec catalog_response
événements.
Champ | Type | Description |
---|---|---|
catalog_url optionnel |
Chaîne |
L'URL de destination associée à l'événement catalog_request qui a déclenché cette réponse |
response_time_ms optionnel |
Numéro |
Le temps, en millisecondes, entre l'événement catalog_request et l'événement catalog_response |
paramètres d'événement video_impression
Les paramètres suivants doivent être envoyés avec video_impression
événements.
Champ | Type | Description |
---|---|---|
video optionnel |
Chaîne |
l'identifiant de la vidéo |
video_name optionnel |
Chaîne |
le nom de la vidéo |
paramètres d'événement video_view
Les paramètres suivants doivent être envoyés avec video_view
événements.
Champ | Type | Description |
---|---|---|
video optionnel |
Chaîne |
l'identifiant de la vidéo |
video_name optionnel |
Chaîne |
le nom de la vidéo |
start_time_ms optionnel |
Chaîne |
Le temps, en millisecondes, entre le début de la lecture et la première image de la vidéo en cours de rendu. Cela peut être différent selon l'expérience, par exemple, s'il n'y a pas d'annonces pré-roll configurées, cette mesure est le temps entre le |
paramètres de l'événement video_engagement
Les paramètres suivants doivent être envoyés avec video_engagement
événements.
Champ | Type | Description |
---|---|---|
video optionnel |
Chaîne |
l'identifiant de la vidéo |
video_name optionnel |
Chaîne |
le nom de la vidéo |
range optionnel |
Chaîne |
la portée de la vidéo visionnée pour |
rendition_url optionnel |
Chaîne |
URL du dernier rendu sélectionné. Par exemple, pour un flux HLS, il s'agirait de l'URL de la variante sélectionnée la plus récemment |
rendition_indicated_bps optionnel |
Chaîne |
Le débit binaire indiqué, en bits par seconde, du dernier rendu sélectionné |
rendition_mime_type optionnel |
Chaîne |
Le type mime du rendu le plus récemment sélectionné |
rendition_height optionnel |
Chaîne |
La hauteur encodée du rendu vidéo en pixels |
rendition_width optionnel |
Chaîne |
La largeur encodée du rendu vidéo en pixels |
rebuffering_seconds optionnel |
Chaîne |
Le nombre de secondes que l'utilisateur a passé à attendre la lecture de la vidéo en raison d'un retard non demandé pendant la période d'engagement |
rebuffering_count optionnel |
Chaîne |
Le nombre de fois où la lecture s'est arrêtée en raison de la remise en mémoire tampon pendant la période d'engagement représentée retard pendant la période d'engagement |
forward_buffer_seconds optionnel |
Chaîne |
Le nombre de secondes de vidéo résidant actuellement dans le tampon de transfert |
measured_bps optionnel |
Chaîne |
Le rapport entre le nombre de bits inclus dans le segment le plus récemment téléchargé et le temps passé à télécharger ce segment, en bits par seconde |
player_width optionnel |
Chaîne |
La largeur actuelle en pixels du joueur à la fin de la plage d'engagement |
player_height optionnel |
Chaîne |
La hauteur de pixel actuelle du joueur à la fin de la plage d'engagement |
dropped_frames optionnel |
Chaîne |
drop_frames |
video_duration optionnel |
Numéro |
la durée de la vidéo en secondes |
video_seconds_viewed optionnel |
Numéro |
nombre de secondes observées depuis la dernière mise à jour pour |
Les video_engagement
L'événement est un moyen de suivre l'engagement vidéo pendant la lecture d'une vidéo et sera probablement envoyé plusieurs fois pendant la lecture. (L'instrumentation du lecteur Flash/HTML5 envoie cet événement toutes les 10 secondes, si la lecture n'est pas interrompue.) À l'heure actuelle, les événements décrivant des plages supérieures à 20 secondes sont ignorés par le système Analytics, il est donc nécessaire d'envoyer ces événements plus fréquemment.
Il existe deux formes qu'un video_engagement
l'événement peut prendre (autres paramètres omis par souci de concision) :
Exemple | Sens |
---|---|
|
Vidéo 123 avec une durée de 75 secondes jouées secondes 0 à 9 (pour un total de 10 secondes visionnées). |
event=video_engagement&video=123&video_seconds_viewed=10 |
10 secondes de vidéo 123 nous avons révisé. |
Alors que les deux versions suivent les secondes vues, la version qui inclut video_duration
et range
contient également des informations nécessaires pour calculer des données d'engagement supplémentaires, et est la manière préférée envoyer video_engagement
données d'événement au système Analytics. Pour les flux en direct, ou dans les cas où la chronologie de la vidéo change continuellement pendant la lecture ou n'est pas fiable, video_seconds_viewed
seront les seules données disponibles. Pour la VOD, sauf duration
n'est pas disponible, le video_engagement
l'événement doit inclure video_duration
et range
.
Paramètres | Métriques d'engagement dérivées (API) |
---|---|
video_duration , range |
video_seconds_viewed , video_percent_viewed , engagement_score ; données de courbe d'engagement |
video_seconds_viewed |
video_seconds_viewed |
Si les trois paramètres ( video_duration
, range
et video_seconds_viewed
) sont envoyés avec un video_engagement
événement, le système Analytics calculera les métriques d'engagement à partir du video_duration
+ range
paramètres.
Modifications de la V2
Cette section fournit un résumé des modifications de v1 à v2 du collecteur de données pour ceux qui ont utilisé la v1.
URL de base pour le traqueur
http(s)://metrics.brightcove.com/v2
Champs supplémentaires pris en charge sur tous les événements :
device_os_version: La version du système d'exploitation utilisée par l'appareil. Lorsqu'il n'est pas spécifié, cela sera calculé en analysant la chaîne de l'agent utilisateur pour la demande de suivi.
version_plateforme: Utilisé pour indiquer qu'une nouvelle version de la plate-forme spécifiée est utilisée pour envoyer les événements.
Nouveaux événements pour la V2
catalogue_demande: Envoyé lorsqu'une demande à l'API du catalogue videocloud est effectuée - notez que cet événement est à usage interne et n'est pas exposé dans le module Analytics ou via l'API Analytics.
- catalogue_url: L'url de destination associée au
catalog_request
événement - notez que cet événement est à usage interne et n'est pas exposé dans le module Analytics ou via l'API Analytics.
catalog_response: Envoyé lorsqu'une réponse à un précédent catalog_request
est reçu - notez que cet événement est à usage interne et n'est pas exposé dans le module Analytics ou via l'API Analytics.
- catalogue_url: L'url de destination associée au
catalog_request
événement qui a déclenché cette réponse - notez que cet événement est à usage interne et n'est pas exposé dans le module Analytics ou via l'API Analytics. - temps_réponse_ms: Le temps, en millisecondes, entre le
catalog_request
événement et lecatalog_response
événement - notez que cet événement est à usage interne et n'est pas exposé dans le module Analytics ou via l'API Analytics.
play_request: Envoyé lorsque la lecture est lancée soit par l'utilisateur en cliquant expressément sur le bouton de lecture, soit automatiquement lorsque la plate-forme déclenche la lecture dans un scénario de lecture automatique.
annonce_mode_begin : [Remplace ad_start
] Envoyé lorsque le contrôle est remis à un agent de publicité par la plate-forme de lecture.
annonce_mode_complete : [Remplace ad_end
]Envoyé lorsque le contrôle est rendu de l'agent de publicité à la plate-forme de lecture.
Erreur: Envoyé lorsque des erreurs fatales qui perturbent l'expérience de lecture sont rencontrées.
- code d'erreur: Un code d'erreur spécifique à la plate-forme associé à l'événement.
Événements mis à jour pour la V2
vue_vidéo: Comprend de nouvelles mesures de latence
- load_time_ms: Le temps, en millisecondes, entre le lancement du chargement des données de la vidéo et la lecture de la vidéo.
- start_time_ms: Le temps, en millisecondes, entre le début de la lecture et la première image de la vidéo en cours de rendu. Cela peut être différent en fonction de l'expérience, par exemple, si aucune annonce pré-roll n'est configurée, cette mesure est le temps entre la « play_request » et les
video_view
événements. S'il y a une annonce preroll, le temps entread_mode_begin
etad_mode_complete
ne doit pas être inclus.
video_engagement: Comprend une sélection de rendu supplémentaire, des mesures de débit binaire et des informations de mise en mémoire tampon. Une modification subtile de l'engagement vidéo a également été apportée en ce sens qu'elle doit être envoyée périodiquement même si aucune visualisation n'a eu lieu pendant la période d'engagement. Cette modification vise à permettre le suivi des délais et des décomptes de remise en mémoire tampon qui obligent les utilisateurs à attendre la lecture.
- gamme: Le paramètre de plage est désormais facultatif, la plage peut être laissée en dehors d'un événement d'engagement pour montrer que pendant la période couverte par l'événement, il n'y a eu aucune activité de visualisation. (par exemple, lorsqu'il n'y a qu'une activité de remise en mémoire tampon)
- rendu_url: URL du dernier rendu sélectionné. Par exemple, pour un flux HLS, il s'agirait de l'URL de la variante sélectionnée la plus récemment.
- rendition_indicated_bps: Le débit binaire indiqué, en bits par seconde, du dernier rendu sélectionné.
- rendu_mime_type: Le type MIME du rendu le plus récemment sélectionné.
- rendition_height: La hauteur encodée du rendu vidéo en pixels
- rendition_width: La largeur encodée du rendu vidéo en pixels
- rebuffering_seconds: Le nombre de secondes que l'utilisateur a passé à attendre la lecture de la vidéo en raison d'un retard non demandé pendant la période d'engagement.
- rebuffering_count: Le nombre de fois où la lecture s'est arrêtée en raison de la remise en mémoire tampon pendant la période d'engagement représentée.
- forward_buffer_seconds: Le nombre de secondes de vidéo résidant actuellement dans la mémoire tampon de transfert.
- mesuré_bps: Le rapport entre le nombre de bits inclus dans le segment le plus récemment téléchargé et le temps passé à télécharger ce segment, en bits par seconde.
- player_width La largeur actuelle en pixels du lecteur à la fin de la plage d'engagement.
- player_height La hauteur de pixel actuelle du joueur à la fin de la plage d'engagement.
- drop_frames: Le nombre d'images qui ont été supprimées de la lecture vidéo pendant cette période d'engagement