Effectuer le suivi de la lecture principale à l’aide de JavaScript 3.x track-core-playback-on-javascript
Cette documentation aborde le suivi dans la version 3.x du 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.table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 Nom de variable Type Description namestring Chaîne non vide désignant le nom du média. idstring Chaîne non vide désignant l’identifiant de média unique. lengthnumber Nombre positif désignant la longueur du média en secondes. Indiquez 0 si la longueur est inconnue. streamTypestring mediaTypeType de média (audio ou vidéo). StreamTypeConstantes :table 0-row-2 1-row-2 2-row-2 Nom de constante Description VODType de diffusion pour la vidéo à la demande. AODType de diffusion pour l’audio à la demande. MediaTypeConstantes :table 0-row-2 1-row-2 2-row-2 Nom de constante Description AudioType de média pour les diffusions audio. VideoType de média pour les diffusions vidéo. code language-none 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
note note NOTE 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 :
code language-js /* 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
trackSessionStartsur l’instance Media Heartbeat :code language-js 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);note important IMPORTANT trackSessionStarteffectue 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 entretrackSessionStartettrackPlay).note note NOTE Si vous n’utilisez pas de données contextuelles, envoyez simplement un objet vide pour l’argument datadanstrackSessionStart. -
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:code language-js tracker.trackPlay(); -
Mettre à jour la valeur du curseur de lecture
Lorsque le curseur de lecture du média change, avertissez le SDK en appelant l’API
mediaUpdatePlayhead.
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.code language-none tracker.updatePlayhead(position)note note NOTE Tenez compte des points suivants lors de l’appel de l’API tracker.updatePlayhead:- Lors de l’utilisation de marques de progression, la durée du contenu est une donnée obligatoire et le curseur de lecture doit être mis à jour en tant que nombre de secondes écoulées depuis le début de l’élément média, en commençant par 0.
- Lors de l’utilisation de SDK Media, vous devez appeler l’API
tracker.updatePlayheadau 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:code language-js 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:code language-js tracker.trackSessionEnd();note important IMPORTANT trackSessionEndmarque 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 quetrackCompleteest appelé avanttrackSessionEnd. Tout autre appel à l’APItrack*est ignoré aprèstrackSessionEnd, sauftrackSessionStartdans 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:code language-js 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
trackPauseest correctement appelé. Les scénarios suivants exigent tous que votre application appelletrackPause():- L’utilisateur appuie délibérément sur pause dans l’application.
- Le lecteur se met en pause.
- (Applications mobiles) : l’utilisateur place l’application en arrière-plan, mais vous souhaitez que l’application conserve la session ouverte.
- (Applications mobiles) : tout type d’interruption système qui entraîne la mise en arrière-plan d’une application. Par exemple, l’utilisateur reçoit un appel ou une fenêtre contextuelle provenant d’une autre application apparaît, mais vous souhaitez que l’application conserve la session ouverte pour donner à l’utilisateur la possibilité de reprendre le média à partir du point d’interruption.
-
Identifiez l’événement du lecteur correspondant à la lecture et/ou à la reprise après une interruption et appelez
trackPlay:code language-js tracker.trackPlay();note tip TIP 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’APItrackPlay()à la reprise de la lecture.
- Scénarios de suivi : lecture VOD sans publicité
- Exemple de lecteur inclus avec le SDK JavaScript pour un exemple de suivi complet.