Effectuer le suivi de la lecture principale sur Android track-core-playback-on-android
Cette documentation aborde le suivi dans la version 2.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 3-align-center 7-align-center 11-align-center 15-align-center 19-align-center 23-align-center Nom de variable Description Obligatoire name
Nom du média Oui mediaId
Identifiant unique du média Oui length
Longueur du média Oui streamType
Type de diffusion (voir les constantes StreamType ci-dessous) Oui mediaType
Type de média (voir les constantes MediaType ci-dessous) Oui StreamType
Constantes :table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 Nom de constante Description VOD
Type de diffusion pour la vidéo à la demande. LIVE
Type de diffusion pour le contenu en direct. LINEAR
Type de diffusion pour le contenu linéaire. AOD
Type de diffusion pour l’audio à la demande. AUDIOBOOK
Type de diffusion pour les livres audio. PODCAST
Type de diffusion pour les podcasts. MediaType
Constantes :table 0-row-2 1-row-2 2-row-2 Nom de constante Description Audio
Type de média pour les diffusions audio. Video
Type de média pour les diffusions vidéo. code language-none MediaHeartbeat.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 de publicité à la session de suivi par le biais de variables de données contextuelles.
-
Métadonnées standard
Mise en œuvre de métadonnées standard sur Android
note note NOTE Il est facultatif de joindre un objet de métadonnées standard à l’objet multimédia. - Référence de l’API des clés de métadonnées multimédia - Clés de métadonnées standard - Android
- Consultez la liste complète des métadonnées vidéo disponibles dans la rubrique Paramètres audio et vidéo.
-
Métadonnées personnalisées
Créez un dictionnaire pour les variables personnalisées et renseignez les données de ce média. Par exemple :
code language-java HashMap<String, String> mediaMetadata = new HashMap<String, String>(); mediaMetadata.put("isUserLoggedIn", "false"); mediaMetadata.put("tvStation", "Sample TV Station"); mediaMetadata.put("programmer", "Sample programmer");
-
-
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. Par exemple :code language-java public void onVideoLoad(Observable observable, Object data) { _heartbeat.trackSessionStart(mediaInfo, mediaMetadata); }
note tip TIP La deuxième valeur est le nom d’objet de métadonnées multimédia personnalisé que vous avez créé à l’étape 2. note important IMPORTANT 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 du média et estimer le temps jusqu’au démarrage de la mesure QoS (durée entretrackSessionStart
ettrackPlay
).note note NOTE Si vous n’utilisez pas de métadonnées multimédia personnalisées, envoyez simplement un objet vide pour le second argument 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 du média, où la première image du média s’affiche à l’écran, et appelez
trackPlay
:code language-java // Video is rendered on the screen) and call trackPlay. public void onVideoPlay(Observable observable, Object data) { _heartbeat.trackPlay(); }
-
Suivi de la fin de la lecture
Identifiez l’événement du lecteur multimédia correspondant à la fin de la lecture du média, où l’utilisateur a visionné le contenu jusqu’à la fin, et appelez
trackComplete
:code language-java public void onVideoComplete(Observable observable, Object data) { _heartbeat.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 du média, où l’utilisateur ferme la vidéo et/ou le contenu média est terminé et déchargé, et appelez
trackSessionEnd
:code language-java // Closes the media and/or the media completed and unloaded, // and call trackSessionEnd(). public void onMainVideoUnload(Observable observable, Object data) { _heartbeat.trackSessionEnd(); }
note important IMPORTANT trackSessionEnd
marque la fin d’une session de suivi multimédia. Si la session a été visionnée jusqu’à la fin, où l’utilisateur a visionné le contenu jusqu’à la fin, assurez-vous quetrackComplete
est appelé avanttrackSessionEnd
. Tout autre appel à l’APItrack*
est ignoré aprèstrackSessionEnd
, sauftrackSessionStart
dans le cadre d’une nouvelle session de suivi multimédia. -
Suivi de tous les scénarios de mise en pause possibles
Identifiez l’événement du lecteur multimédia pour la mise en pause et l’appel multimédia
trackPause
:code language-java public void onVideoPause(Observable observable, Object data) { _heartbeat.trackPause(); }
Scénarios de mise en pause
Identifiez tous les scénarios dans lesquels le lecteur vidéo sera interrompu et assurez-vous que
trackPause
est 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 multimédia et/ou à la reprise multimédia après une interruption et appelez
trackPlay
.code language-java // trackPlay() public void onVideoPlay(Observable observable, Object data) { _heartbeat.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 du média.
Consultez les ressources suivantes pour en savoir plus sur le suivi de la lecture principale :
- Scénarios de suivi : lecture VOD sans publicité
- Exemple de lecteur inclus dans le SDK Android pour un exemple de suivi complet