Aperçu: API de collecte de données v2

Dans cette rubrique, vous obtiendrez une vue d'ensemble de l'API de collecte de données Analytics v2, qui vous permet d'ajouter des événements à vos données Video Cloud Analytics dans les situations où Brightcove ne peut pas suivre les événements directement.

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 123la 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:

  1. Créez le script de collecte de données pour votre lecteur.
  2. Testez dans un environnement contrôlé pendant au moins une journée.
  3. 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 à videocloud

Valeurs autorisées : "videocloud"

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 : "android" , "bada" , "ios" , "linux" , "mac" , "tv" , "os_x" , "rim" , "symbian" , "windows" , "other"

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 : "mobile" "tablet", "tv", "desktop", "other"

event Chaîne

le type d'événement

Valeurs autorisées : "player_load" , "catalog_request" , "catalog_response" , "play_request" , "ad_mode_begin" , "ad_mode_complete" , "video_impression" , "video_view" , "video_engagement" , "error"

destination optionnel Chaîne

URI à l'origine de l'événement

source optionnel Chaîne

URI qui a envoyé l'utilisateur final au destination URI

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 Source IP address + the User-Agent Chaîne comme identifiant unique ; Notez que Brightcove utilise ces informations uniquement pour calculer les utilisateurs uniques. Les données utilisateur elles-mêmes ne peuvent pas être récupérées via l'API ou le module Analytics

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 le Source 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 un options 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 le options objet.
  • Les uniqueViewer la variable est affectée à la version analysée de la userPath , 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é.

Section des plug-ins Studio
Section des plug-ins Studio

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
  https://support.brightcove.com/en/video-cloud/search/live%20streaming%20wirecast
  
  
destination
  https://support.brightcove.com/en/video-cloud/training-videos/live-streaming-wirecast
  
  

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 play_request et video_view événements. S'il y a une annonce preroll, le temps entre ad_mode_begin et ad_mode_complete ne doit pas être inclus

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 video_engagement événements au format StartSecond..EndSecond (les valeurs StartSecond et EndSecond doivent être des nombres entiers [entiers]) - 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)

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 video_engagement événements

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
  event=video_engagement&video=123&video_duration=75&range=0..9
  
  
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 le catalog_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 entre ad_mode_begin et ad_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