Cette documentation aborde le suivi dans la version 3.x du SDK.
Si vous mettez en œuvre une version précédente du kit SDK, vous pouvez télécharger les Guides du développeur dans la rubrique Téléchargement des SDK
Configuration initiale du suivi
Déterminez le moment où l’utilisateur déclenche l’intention de lecture (l’utilisateur clique sur le bouton de lecture et/ou la lecture automatique est activée) et créez une instance MediaObject
.
Nom de variable | Type | Description |
---|---|---|
name |
string | Chaîne non vide désignant le nom du média. |
id |
string | Chaîne non vide désignant l’identifiant de média unique. |
length |
number | Nombre positif désignant la longueur du média en secondes. Indiquez 0 si la longueur est inconnue. |
streamType |
string | |
mediaType |
Type de média (audio ou vidéo). |
StreamType
Constantes :
Nom de constante | Description |
---|---|
VOD |
Type de diffusion pour la vidéo à la demande. |
AOD |
Type de diffusion pour l’audio à la demande. |
MediaType
Constantes :
Nom de constante | Description |
---|---|
Audio |
Type de média pour les diffusions audio. |
Video |
Type de média pour les diffusions vidéo. |
var mediaObject = ADB.Media.createMediaObject(<MEDIA_NAME>,
<MEDIA_ID,
<MEDIA_LENGTH>,
<STREAM_TYPE>,
<MEDIA_TYPE>);
Ajout de métadonnées
Vous pouvez joindre des métadonnées standard et/ou personnalisées à la session de suivi par le biais de variables de données contextuelles.
Métadonnées standard
Il est facultatif de joindre les métadonnées standard.
Référence à l’API des clés de métadonnées multimédia - Clés de métadonnées standard - JavaScript
Consultez la liste complète des métadonnées disponibles dans la rubrique Paramètres audio et vidéo.
Métadonnées personnalisées
Créez un objet de variable pour les variables personnalisées et renseignez les données de ce média. Par exemple :
/* Set context data */
var contextData = {};
//Standard metadata
contextData[ADB.Media.VideoMetadataKeys] = "Sample Episode";
contextData[ADB.Media.VideoMetadataKeys] = "Sample Show";
//Custom metadata
contextData["isUserLoggedIn"] = "false";
contextData["tvStation"] = "Sample TV Station";
Suivi de l’intention de démarrer la lecture
Pour commencer le suivi d’une session multimédia, appelez trackSessionStart
sur l’instance Media Heartbeat :
var mediaObject = ADB.Media.createMediaObject("video-name",
"video-id",
60.0,
ADB.Media.StreamType.VOD,
ADB.Media.MediaType.Video);
var contextData = {};
//Standard metadata
contextData[ADB.Media.VideoMetadataKeys] = "Sample Episode";
contextData[ADB.Media.VideoMetadataKeys] = "Sample Show";
//Custom metadata
contextData["isUserLoggedIn"] = "false";
contextData["tvStation"] = "Sample TV Station";
tracker.trackSessionStart(mediaObject, contextData);
trackSessionStart
effectue le suivi de l’intention de lecture de l’utilisateur, et non du début de la lecture. Cette API est utilisée pour charger les données/métadonnées et estimer le temps jusqu’au démarrage de la mesure QoS (durée entre trackSessionStart
et trackPlay
).
Si vous n’utilisez pas de données contextuelles, envoyez simplement un objet vide pour l’argument data
dans trackSessionStart
.
Suivi du début réel de la lecture
Identifiez l’événement du lecteur multimédia correspondant au début de la lecture, où la première image du média s’affiche à l’écran, et appelez trackPlay
:
tracker.trackPlay();
Mettre à jour la valeur du curseur de lecture
Lorsque le curseur de lecture multimédia change, informez le SDK en appelant la fonction mediaUpdatePlayhead
API.
Pour les vidéos à la demande (VOD), la valeur est indiquée en secondes à partir du début de lʼélément média.
Pour la diffusion en direct, si le lecteur ne fournit pas d’informations sur la durée du contenu, la valeur peut être spécifiée comme le nombre de secondes écoulées depuis minuit UTC de ce jour.
tracker.updatePlayhead(position)
Tenez compte des points suivants lors de l’appel de la fonction tracker.updatePlayhead
API :
tracker.updatePlayhead
API au moins une fois par seconde.Suivi de la fin de la lecture
Identifiez l’événement du lecteur multimédia correspondant à la fin de la lecture, où l’utilisateur a visionné le contenu jusqu’à la fin, et appelez trackComplete
:
tracker.trackComplete();
Suivi de la fin de la session
Identifiez l’événement du lecteur multimédia correspondant au déchargement/à la fermeture de la lecture, où l’utilisateur ferme la vidéo et/ou le contenu média est terminé et déchargé, et appelez trackSessionEnd
:
tracker.trackSessionEnd();
trackSessionEnd
marque la fin d’une session de suivi. Si la session a été visionnée jusqu’à la fin, où l’utilisateur a visionné le contenu jusqu’à la fin, assurez-vous que trackComplete
est appelé avant trackSessionEnd
. Tout autre appel à l’API track*
est ignoré après trackSessionEnd
, sauf trackSessionStart
dans le cadre d’une nouvelle session de suivi.
Suivi de tous les scénarios de mise en pause possibles
Identifiez l’événement du lecteur multimédia pour le mettre en pause et appelez trackPause
:
tracker.trackPause();
Scénarios de mise en pause
Identifiez tous les scénarios dans lesquels le lecteur multimédia sera interrompu et assurez-vous que trackPause
est correctement appelé. Les scénarios suivants exigent tous que votre application appelle trackPause()
:
Identifiez l’événement du lecteur correspondant à la lecture et/ou à la reprise après une interruption et appelez trackPlay
:
tracker.trackPlay();
Il peut s’agir de la même source d’événement utilisée à l’étape 4. Assurez-vous que chaque appel de l’API trackPause()
est suivi d’un appel de l’API trackPlay()
à la reprise de la lecture.