Suivi de la lecture principale sur Roku track-core-playback-on-roku
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.MediaObjectRéférence :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 nameNom de la vidéo Oui mediaidIdentifiant unique de la vidéo Oui lengthDurée de la vidéo Oui streamTypeType de diffusion (voir les constantes StreamType ci-dessous) Oui mediaTypeType de média (voir les constantes MediaType ci-dessous) Oui StreamTypeConstantes :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 MEDIA_STREAM_TYPE_VODType de diffusion pour la vidéo à la demande. MEDIA_STREAM_TYPE_LIVEType de diffusion pour le contenu en direct. MEDIA_STREAM_TYPE_LINEARType de diffusion pour le contenu linéaire. MEDIA_STREAM_TYPE_AODType de diffusion pour l’audio à la demande. MEDIA_STREAM_TYPE_AUDIOBOOKType de diffusion pour les livres audio. MEDIA_STREAM_TYPE_PODCASTType de diffusion pour les podcasts. MediaTypeConstantes :table 0-row-2 1-row-2 2-row-2 Nom de constante Description MEDIA_STREAM_TYPE_AUDIOType de média pour les diffusions audio. MEDIA_STREAM_TYPE_VIDEOType de média pour les diffusions vidéo. Créez un objet d’informations sur le média pour une vidéo avec du contenu VOD :
code language-none mediaInfo = adb_media_init_mediainfo( "<MEDIA_NAME>", "<MEDIA_ID>", 600, ADBMobile().MEDIA_STREAM_TYPE_VOD, ADBMobile().MEDIA_TYPE_VIDEO )ou
code language-none mediaInfo = adb_media_init_mediainfo() mediaInfo.name = "<MEDIA_NAME>" mediaInfo.id = "<MEDIA_ID>" mediaInfo.length = 600 mediaInfo.streamType = ADBMobile().MEDIA_STREAM_TYPE_VOD mediaInfo.mediaType = ADBMobile().MEDIA_TYPE_VIDEOCréez un objet d’informations sur le média pour une vidéo avec du contenu AOD :
code language-none mediaInfo = adb_media_init_mediainfo( "<MEDIA_NAME>", "<MEDIA_ID>", 600, ADBMobile().MEDIA_STREAM_TYPE_AOD, ADBMobile().MEDIA_TYPE_AUDIO )ou
code language-none mediaInfo = adb_media_init_mediainfo() mediaInfo.name = "<MEDIA_NAME>" mediaInfo.id = "<MEDIA_ID>" mediaInfo.length = 600 mediaInfo.streamType = ADBMobile().MEDIA_STREAM_TYPE_AOD mediaInfo.mediaType = ADBMobile().MEDIA_TYPE_AUDIO -
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 Roku
<div class="extension note">
<div>NOTE</div>
<div>
<p>Il est facultatif de joindre un objet de métadonnées vidéo standard à l’objet multimédia.</p>
</div>
</div>
-
Métadonnées personnalisées
Créez un objet de variable pour les variables personnalisées et renseignez les données de cette vidéo. Par exemple :
code language-none mediaContextData = {} mediaContextData["cmk1"] = "cmv1" mediaContextData["cmk2"] = "cmv2"
-
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-none ADBMobile().mediaTrackSessionStart(mediaInfo,mediaContextData)note tip TIP La deuxième valeur est le nom d’objet de métadonnées vidéo personnalisé que vous avez créé à l’étape 2. 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 de la vidéo et estimer le temps jusqu’au démarrage de la mesure QoS (durée entretrackSessionStartettrackPlay).note note NOTE Si vous n’utilisez pas de métadonnées vidéo personnalisées, envoyez simplement un objet vide pour l’argument datadanstrackSessionStart, tel que décrit dans la ligne commentée de l’exemple iOS ci-dessus. -
Suivi du début réel de la lecture
Identifiez l’événement du lecteur vidéo correspondant au début de la lecture vidéo, où la première image de la vidéo s’affiche à l’écran, et appelez
trackPlay:code language-none ADBMobile().mediaTrackPlay() -
Mise à jour de la valeur de la tête 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 ADBMobile().mediaUpdatePlayhead(position)note note NOTE Tenez compte des points suivants lors de l’appel de l’API mediaUpdatePlayhead:- 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
mediaUpdatePlayheadau moins une fois par seconde.
-
Suivi de la fin de la lecture
Identifiez l’événement du lecteur vidéo correspondant à la fin de la lecture vidéo, où l’utilisateur a visionné le contenu jusqu’à la fin, et appelez
trackComplete:code language-none ADBMobile().mediaTrackComplete() -
Suivi de la fin de la session
Identifiez l’événement du lecteur vidéo correspondant au déchargement/à la fermeture de la lecture vidéo, où l’utilisateur ferme la vidéo et/ou la vidéo est terminée et déchargée, et appelez
trackSessionEnd:code language-none ADBMobile().mediaTrackSessionEnd()note important IMPORTANT trackSessionEndmarque la fin d’une session de suivi vidéo. 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 vidéo. -
Suivi de tous les scénarios de mise en pause possibles
Identifiez l’événement du lecteur vidéo correspondant à l’interruption de la vidéo et appelez
trackPause:code language-none ADBMobile().mediaTrackPause()Scénarios de mise en pause
Identifiez tous les scénarios dans lesquels le lecteur vidéo 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 d’une autre application apparaît, mais vous souhaitez que l’application maintienne la session active afin que l’utilisateur ait l’opportunité de reprendre la vidéo à partir du point d’interruption.
-
Identifiez l’événement du lecteur correspondant à la lecture vidéo et/ou à la reprise vidéo après une interruption et appelez
trackPlay:code language-none ADBMobile().mediaTrackPlay()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 vidéo.
- Scénarios de suivi : lecture VOD sans publicité
- Exemple de lecteur inclus dans le SDK Roku pour un exemple de suivi complet