viewer
dimension. Les viewer
dimension fournit des analyses par spectateur.Introduction
La viewer
dimension vous permet d'examiner les analyses par utilisateur. Si les identifiants des spectateurs ne sont pas envoyés au collecteur de données analytiques par le lecteur, nous essaierons de construire un identifiant de spectateur à partir de l'adresse IP et de l'agent utilisateur du spectateur - cette méthode est toutefois sujette à erreur. L'analyse des téléspectateurs est plus utile si vous avez des téléspectateurs connectés et que vous pouvez donc les identifier de manière fiable.
Paramètres d'URL
Les rapports de l'API Analytics prennent en charge les paramètres d'URL suivants.
Paramètre | Description | Obligatoire | Valeurs | Défaut |
---|---|---|---|---|
account |
Les comptes sur lesquels vous souhaitez créer un rapport | Oui | un ou plusieurs identifiants de compte sous forme de liste délimitée par des virgules | aucun |
dimensions |
La ou les dimensions à signaler | Oui | une ou plusieurs dimensions sous forme de liste délimitée par des virgules (certaines combinaisons ne sont pas valables - utilisez l'outil interactif ici pour déterminer si une combinaison est valable) | aucun |
where |
Utilisé pour spécifier des filtres pour les rapports | non | {dimension}=={valeur} - un ou plusieurs éléments sous forme de liste délimitée par des points-virgules. La valeur sera une ou plusieurs valeurs pour la métrique primaire de cette dimension. Par exemple : video==video_id country=country-code , ou viewer=viewer_id (dans ce dernier cas, la forme du viewer_id varie selon que vous capturez et envoyez vous-même une sorte de viewer_id ou selon la valeur générée par le système d'analyse). |
aucun |
limit |
Nombre d'articles à retourner | non | entier positif | 10 |
offset |
Nombre d'éléments à ignorer | non | entier positif | 0 |
sort |
Champ sur lequel trier les éléments | non | tout champ renvoyé par la requête | Video_View |
fields |
Champs à retourner | non | varie en fonction de la dimension sur laquelle vous créez un rapport | video,video_view |
format |
Format pour renvoyer les résultats dans | non | json (par défaut) | csv | xlxs | json |
reconciled |
Si elle est incluse, elle limitera les résultats aux données historiques ou en temps réel. Les données analytiques proviennent de plusieurs sources : certaines sont envoyées par le lecteur, mais d'autres sont collectées à partir des CDN et du système Video Cloud. Afin de fournir des analyses le plus rapidement possible, nous commençons à fournir des données « en temps réel » dès qu'elles sont disponibles, puis nous ajustons les analyses ultérieurement lorsque les données de toutes les sources ont été collectées et traitées. Les données entièrement traitées sont appelées réconciliées | non | vrai | faux | true |
from |
Le début de la plage de dates de la demande | non |
L'un des éléments suivants :
Seules les dates des 32 derniers jours sont autorisées pour les points finaux d'engagement ou si reconciled=false. |
-30d |
to |
La fin de la plage de dates pour la demande | non |
L'un des éléments suivants :
Seules les dates des 32 derniers jours sont autorisées pour les points finaux d'engagement ou si reconciled=false. |
maintenant |
Champs disponibles
Les champs suivants peuvent être renvoyés pour la dimension.
application
- l'identifiant de l'expérience virtuelle de l'événement. S'il n'est pas transmis, il sera nulengagement_score
- note d'engagementvideo_engagement_1
- engagement vidéo à 1 % de la duréevideo_engagement_25
- engagement vidéo à 25 % de la duréevideo_engagement_50
- engagement vidéo à 50 % de la duréevideo_engagement_75
- engagement vidéo à 75 % de la duréevideo_engagement_100
- engagement vidéo à 100 % de la duréetime
- l'heure du dernier événement reçuvideo_view
- le nombre de fois où la lecture du spectateur a commencéviewer[1]
- Observateur d'événements (ID SSO ou ID d'appareil ou chaîne unique basée sur l'agent utilisateur et l'IP)
Des champs supplémentaires sont disponibles si la requête inclut également la ou les dimension(s) pertinente(s) :
city
- la ville dans laquelle se trouvait le spectateur (nécessite lacity
dimension)country
- le pays (code) dans lequel se trouvait le spectateur (nécessite lacountry
dimension)country_name
- le nom du pays dans lequel se trouvait le spectateur (country
dimension requise)region
- la région (code) dans laquelle se trouvait le spectateur (nécessite laregion
dimension)region_name
- le nom de la région dans laquelle se trouvait le spectateur (nécessite laregion
dimension)rebuffering_seconds
- le temps total que les joueurs ont passé à repousser (nécessite que lecountry
ouregion
soit inclus)device_type
- le type d'appareil utilisé par le spectateur (device_type
dimension requise)
Envoi de l'identifiant du spectateur
Pour envoyer un identifiant de spectateur au système d'analyse, vous devez créer la logique permettant de construire un identifiant unique qui identifiera le spectateur au moment de l'exécution, puis l'envoyer au collecteur de données d'analyse à partir du lecteur. Le lecteur Web de Brightcove et les lecteurs SDK iOS et Android peuvent envoyer l'identifiant de l'utilisateur à l'analyse. Les sections suivantes expliquent comment procéder pour les lecteurs Web et SDK.
Envoyer l'ID du spectateur - Lecteur Brightcove
Exigences
Les exigences suivantes sont requises pour le suivi de l'ID du spectateur :
- Brightcove Player v7.18.0 ou plus récent
Tout d'abord, vous devez définir l'identifiant de l'utilisateur pour stocker l'activité de visualisation de cet utilisateur.
Brightcove Player
Si vous utilisez Brightcove Player, procédez comme suit :
-
Même si les données des spectateurs sont envoyées automatiquement à Brightcove Analytics, vous devez définir l'identifiant de l'utilisateur. Pour ce faire, utilisez la méthode
user()
. Par exemple :myPlayer.bcAnalytics.client.user('viewer id');
Sur vos sites Web qui hébergent Brightcove Player, vous pouvez utiliser une passerelle d'authentification ou une solution de gestion des identités pour suivre les spectateurs. Utilisez cet identifiant de visionneuse comme identifiant de visionneuse à transmettre aux analyses Brightcove.
-
Il est important de définir l'ID de visionneuse avant de définir une source sur le lecteur. Il doit être appelé immédiatement après l'initialisation du lecteur.
<vidéo-js id="myPlayerID" data-account="1752604059001" data-player="hyQW6GByl" data-embed="default" contrôles="" data-video-id="6156696074001" data-playlist-id="" data-application-id="" width="640" height="360"></vidéo-js> <script src="https://players.brightcove.net/1752604059001/hyQW6GByl_default/index.min.js"></script> <script> videojs.getPlayer('myPlayerID').ready(function() { var myPlayer = this; // Définir l'ID du spectateur pour Brightcove Analytics myPlayer.bcAnalytics.client.user('viewer id'); }); </script>
- Lorsque la méthode
user()
est utilisée, la valeur n'est pas hachée et sera envoyée en clair avec toutes les balises suivantes.Notez que l'événement
player_init
n'inclura pas le champuser
dans ce cas, mais tous les événementsvideo_*
doivent l'inclure.
Lecteur personnalisé
Si vous créez une implémentation personnalisée qui n'utilise pas Brightcove Player, ajoutez le paramètre user
à vos requêtes d'API de collecte de données. Pour plus de détails, consultez le document Présentation : API de collecte de données v2.
Vous pouvez utiliser une passerelle d'authentification ou une solution de gestion des identités pour suivre les spectateurs sur les sites qui hébergent votre lecteur. Utilisez cet identifiant de spectateur comme identifiant de spectateur à transmettre aux analyses Brightcove.
Pour les lecteurs du SDK natif de Brightcove, vous devez également envoyer un identifiant de spectateur, à moins que vous ne dépendiez de celui généré par Brightcove.
Android
Pour le lecteur Android, ajoutez ce code :
HashMap<String, String> baseParams = new HashMap<>();
baseParams.put(Analytics.Fields.USER, "viewer id");
baseParams.put(Analytics.Fields.APPLICATION_ID, "application id");
HashMap<String, Object> eventParams = new HashMap<>();
eventParams.put(Analytics.Fields.BASE_PARAMS, baseParams);
eventEmitter.emit(EventType.ADD_ANALYTICS_BASE_PARAMS, eventParams);
iOS
Pour iOS ou tvOS, ajoutez le code suivant :
@try
{
[BCOVGlobalConfiguration.sharedConfig setValue:@{
@"privateUser": self.viewer id,
@"privateApplication": @"application id"
}
forKey:@"privateSessionAnalytics"];
}
@catch (NSException *e)
{
NSLog(@"%@", e.description);
}
Filtrer les valeurs
Utilisée comme filtre, une dimension permet d'affiner les résultats.
Valeurs du filtre : identifiants des spectateurs
Combinaison de dimensions
Les viewer
dimension peut être combinée avec plusieurs autres, qui ajoutent des champs supplémentaires qui peuvent être récupérés. Les détails sont dans le tableau ci-dessous. (Gras les éléments sont inclus dans la réponse par défaut si la dimension est incluse.)
Dimension | Champs supplémentaires |
---|---|
video |
video video_engagement_1 video_engagement_25 video_engagement_50 video_engagement_75 video_engagement_100 video_percent_viewed video_seconds_viewed video_view video.tags video.reference_id video.name video.description video.long_description video.duration
|
country |
country country_name
|
region |
region region_name
|
city |
city dma
|
device_type |
device_type
|
Exemples de demandes
Exemple de demande de dimension
https://analytics.api.brightcove.com/v1/data?accounts=3365624256001&dimensions=viewer&limit=10&fields=viewer,time,video_view,engagement_score
Exemple de réponse
{
"item_count": 8,
"items": [
{
"engagement_score": null,
"viewer": "6798840584846290049",
"time": 1623870475157,
"video_view": 0
},
{
"engagement_score": 100,
"viewer": "-1094565064376617663",
"time": 1623870472882,
"video_view": 1
},
{
"engagement_score": 100,
"viewer": "8997125557862445199",
"time": 1623870433989,
"video_view": 1
},
{
"engagement_score": 39.13,
"viewer": "-8839675754655082792",
"time": 1623872904633,
"video_view": 1
},
{
"engagement_score": 143.48,
"viewer": "-6771654281667224776",
"time": 1623869869930,
"video_view": 2
}
],
"summary": {
"engagement_score": 110.51,
"time": 1623875119506,
"video_view": 12
}
}
Exemple de demande multidimensionnelle
https://analytics.api.brightcove.com/v1/data?accounts=3365624256001&dimensions=viewer,country,region,city,video,device_type&limit=10&fields=viewer,time,video_view,engagement_score,video_percent_viewed,video_seconds_viewed,video_engagement_1,video_engagement_25 video_engagement_50,video_engagement_75,video_engagement_100,video.tags,video.reference_id,video.name,video.description,video.duration,video.long_description,dma,country_name,region_name
Exemple de réponse
{
"item_count": 8,
"items": [
{
"country": "MX",
"viewer": "6798840584846290049",
"video.name": "Bison",
"video_seconds_viewed": 23,
"video_engagement_75": 1,
"city": "Zapopan",
"device_type": "desktop",
"video": "5754204614001",
"video_engagement_50": 1,
"video.description": "Bison in Yellowstone National Park",
"video.reference_id": null,
"video_percent_viewed": 100,
"country_name": "Mexico",
"region_name": null,
"video_engagement_25": 1,
"video.long_description": "Bison in Yellowstone National Park. This is the long description. This was filmed in Yellowstone National Park.",
"video.duration": 23295,
"video_engagement_100": 1,
"engagement_score": null,
"video_engagement_1": 1,
"video.tags": [
"animals",
"simulive",
"yellowstone"
],
"dma": "0",
"time": 1623870475157,
"video_view": 0,
"region": "MX-JAL"
},
{
"country": "US",
"viewer": "-8839675754655082792",
"video.name": "Bison",
"video_seconds_viewed": 9,
"video_engagement_75": 0,
"city": "Safety Harbor",
"device_type": "desktop",
"video": "5754204614001",
"video_engagement_50": 0,
"video.description": "Bison in Yellowstone National Park",
"video.reference_id": null,
"video_percent_viewed": 39.13,
"country_name": "United States",
"region_name": "Florida",
"video_engagement_25": 1,
"video.long_description": "Bison in Yellowstone National Park. This is the long description. This was filmed in Yellowstone National Park.",
"video.duration": 23295,
"video_engagement_100": 0,
"engagement_score": 39.13,
"video_engagement_1": 1,
"video.tags": [
"animals",
"simulive",
"yellowstone"
],
"dma": "539",
"time": 1623872904633,
"video_view": 1,
"region": "US-FL"
},
{
"country": "US",
"viewer": "-1094565064376617663",
"video.name": "Bison",
"video_seconds_viewed": 23,
"video_engagement_75": 1,
"city": "Boulder",
"device_type": "desktop",
"video": "5754204614001",
"video_engagement_50": 1,
"video.description": "Bison in Yellowstone National Park",
"video.reference_id": null,
"video_percent_viewed": 100,
"country_name": "United States",
"region_name": "Colorado",
"video_engagement_25": 1,
"video.long_description": "Bison in Yellowstone National Park. This is the long description. This was filmed in Yellowstone National Park.",
"video.duration": 23295,
"video_engagement_100": 1,
"engagement_score": 100,
"video_engagement_1": 1,
"video.tags": [
"animals",
"simulive",
"yellowstone"
],
"dma": "751",
"time": 1623870472882,
"video_view": 1,
"region": "US-CO"
},
{
"country": "US",
"viewer": "8997125557862445199",
"video.name": "Bison",
"video_seconds_viewed": 23,
"video_engagement_75": 1,
"city": "Boulder",
"device_type": "desktop",
"video": "5754204614001",
"video_engagement_50": 1,
"video.description": "Bison in Yellowstone National Park",
"video.reference_id": null,
"video_percent_viewed": 100,
"country_name": "United States",
"region_name": "Colorado",
"video_engagement_25": 1,
"video.long_description": "Bison in Yellowstone National Park. This is the long description. This was filmed in Yellowstone National Park.",
"video.duration": 23295,
"video_engagement_100": 1,
"engagement_score": 100,
"video_engagement_1": 1,
"video.tags": [
"animals",
"simulive",
"yellowstone"
],
"dma": "751",
"time": 1623870433989,
"video_view": 1,
"region": "US-CO"
},
{
"country": "US",
"viewer": "-4530870087560842176",
"video.name": "Bison",
"video_seconds_viewed": 46,
"video_engagement_75": 2,
"city": "Newton Center",
"device_type": "desktop",
"video": "5754204614001",
"video_engagement_50": 2,
"video.description": "Bison in Yellowstone National Park",
"video.reference_id": null,
"video_percent_viewed": 200,
"country_name": "United States",
"region_name": "Massachusetts",
"video_engagement_25": 2,
"video.long_description": "Bison in Yellowstone National Park. This is the long description. This was filmed in Yellowstone National Park.",
"video.duration": 23295,
"video_engagement_100": 2,
"engagement_score": 100,
"video_engagement_1": 2,
"video.tags": [
"animals",
"simulive",
"yellowstone"
],
"dma": "506",
"time": 1623875061754,
"video_view": 2,
"region": "US-MA"
},
{
"country": "MX",
"viewer": "-6771654281667224776",
"video.name": "Bison",
"video_seconds_viewed": 66,
"video_engagement_75": 1,
"city": "Zapopan",
"device_type": "desktop",
"video": "5754204614001",
"video_engagement_50": 1,
"video.description": "Bison in Yellowstone National Park",
"video.reference_id": null,
"video_percent_viewed": 286.96,
"country_name": "Mexico",
"region_name": null,
"video_engagement_25": 1,
"video.long_description": "Bison in Yellowstone National Park. This is the long description. This was filmed in Yellowstone National Park.",
"video.duration": 23295,
"video_engagement_100": 1,
"engagement_score": 143.48,
"video_engagement_1": 1,
"video.tags": [
"animals",
"simulive",
"yellowstone"
],
"dma": "0",
"time": 1623869869930,
"video_view": 2,
"region": "MX-JAL"
}
],
"summary": {
"video_seconds_viewed": 305,
"video_engagement_75": 10,
"video_engagement_25": 11,
"video_engagement_50": 10,
"video_engagement_100": 10,
"engagement_score": 110.51,
"video_engagement_1": 11,
"video_percent_viewed": 1326.09,
"country_name": null,
"region_name": null,
"time": 1623875119506,
"video_view": 12,
"account": "3365624256001"
}
}