Suivi de la lecture du contenu
Le suivi de la lecture principale couvre le chargement du média, le démarrage, la mise en pause, la reprise, la fin et la fin de la session. Bien que cela ne soit pas obligatoire, la mise en mémoire tampon et le suivi de la recherche sont également des composants principaux d’une implémentation de lecture complète.
Événements du lecteur
Procédure de mise en œuvre
- Identifier le moment où l’utilisateur déclenche la lecture (l’utilisateur clique sur lecture ou la lecture automatique se déclenche). Créez un objet média avec le nom de contenu, l’identifiant, la longueur, le type de diffusion et le type de média. Voir Nom du contenu, Identifiant du contenu, Longueur du contenu, Type de flux et Type de contenu pour obtenir des définitions de champ.
- éventuellement joindre des métadonnées — métadonnées standard (émission, saison, épisode, etc.) et les variables de données contextuelles personnalisées. Pour obtenir des références de clés de métadonnées standard, consultez Programme, Saison, Épisode, Genre et Réseau.
- Appelez Début de session pour commencer à suivre la session. Cette opération charge les données et les métadonnées et démarre la mesure de QoS du temps de démarrage. SessionStart effectue le suivi de l’intention de lecture, et non de la première image.
- Appeler Lire lorsque la première image du contenu s’affiche à l’écran.
- Appel Démarrage de la pause lorsque le lecteur est en pause. Appelez à nouveau la fonction Lire lorsque la lecture reprend. Il n’existe pas d’événement de reprise distinct.
- Appel Fin de la session lorsque la visionneuse atteint la fin du contenu.
- Appel Fin de session lorsque le lecteur est déchargé ou que la visionneuse abandonne le contenu sans atteindre la fin. SessionEnd ferme immédiatement la session ; aucun autre événement ne peut être suivi après.
SessionEnd marque la fin d’une session de suivi. Si la session a été visionnée jusqu’à la fin, appelez le SessionComplete avant de SessionEnd. Tout autre appel de tracking est ignoré après SessionEnd, à l'exception de SessionStart pour une nouvelle session.Lecture principale
Les exemples suivants présentent un flux de session complet, du début à la fin de la session, en passant par la fin du contenu.
Pour plus d’informations sur l’implémentation par plateforme, consultez les sections Début de session, Lecture, Début de pause, Fin de session et Fin de session.
Mise en mémoire tampon
Le début de la mémoire tampon indique que le lecteur attend des données. La fin de la mémoire tampon est déduite lorsque vous envoyez un événement de lecture après BufferStart (API basées sur XDM). Sur Mobile SDK, appelez également explicitement BufferComplete.
Pour plus d’informations sur l’implémentation, voir Début de la mémoire tampon.
Recherche en cours
Le bouton Démarrer la recherche signale que la visionneuse est en train de nettoyer. La fin de la recherche est suivie de Lecture pour reprendre la lecture du contenu.
Pour plus d’informations sur l’implémentation, voir Démarrage de la pause (démarrage de la recherche) et Lecture (fin de la recherche).
Gérer les interruptions de l’application
La lecture dans une application multimédia peut être interrompue de différentes manières : l’utilisateur appuie sur pause, l’application passe en arrière-plan et un appel téléphonique arrive. Quelle que soit la cause, les instructions de suivi sont les mêmes :
- Appelez PauseStart lorsque l’application est interrompue (passage en arrière-plan, pause du média, etc.).
- Appelez Play lorsque l’application revient au premier plan et/ou que le média reprend la lecture.
Quand une session en pause doit-elle se terminer ? Si l’application n’autorise pas la lecture en arrière-plan, appelez PauseStart immédiatement, puis appelez SessionEnd après environ une minute en arrière-plan. L’application ne peut pas continuer à envoyer des pings de pause à partir de l’arrière-plan et le fait de maintenir la session ouverte indéfiniment offre une mauvaise expérience. Si l’application ne prend pas en charge la lecture en arrière-plan (applications audio, applications de podcast vidéo), continuez à envoyer des pings en arrière-plan.
Redémarrage après une longue période en arrière-plan : si l’application a été exécutée en arrière-plan suffisamment longtemps pour que la session expire (inactivité de 30 minutes), appelez SessionEnd pour fermer proprement toute session restante, puis appelez SessionStart pour commencer une nouvelle session lorsque la visionneuse revient.
Reprise des sessions inactives
Une session expire automatiquement si aucun événement n’est reçu pendant 10 minutes ou s’il n’y a aucun mouvement du curseur de lecture pendant 30 minutes. Si l’utilisateur revient après l’expiration d’une session, appelez à nouveau SessionStart pour ouvrir une nouvelle session.
Reprise entre les appareils (transfert entre appareils) : lorsqu’une visionneuse transfère la lecture entre les appareils (par exemple, la diffusion d’un téléphone vers un téléviseur), utilisez l’indicateur de reprise pour regrouper les sessions dans les rapports Analytics :
- Sur l’appareil source, appelez SessionEnd lorsque la visionneuse lance le cast. Ne pas appeler SessionComplete — le contenu n’est pas terminé.
- Sur l’appareil de destination, appelez SessionStart avec l’indicateur de reprise défini sur
trueet transmettez les mêmes métadonnées de contenu et la même position de la tête de lecture à partir de l’appareil source.
La définition de l’indicateur de reprise entraîne l’incrémentation d’Analytics Reprises du contenu plutôt que Débuts du média pour la deuxième étape de la remise.
Reprise manuelle d’une session précédemment fermée : si l’application stocke les données utilisateur et peut reprendre une session précédemment fermée, définissez l’indicateur de reprise au début de la session. Voir Début de session pour les détails d’implémentation sur toutes les plateformes.