Show Menu
TOPICS×

Suivi de la lecture principale sur Android

Cette documentation aborde le suivi dans la version 2.x du SDK. Si vous mettez en œuvre une version 1.x du kit SDK, vous pouvez télécharger le Guide du développeur 1.x pour Android dans la rubrique Téléchargement des SDK .
  1. 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
    Description
    Obligatoire
    name
    Nom du média
    Oui
    mediaId
    Identifiant unique du média
    Oui
    length
    Durée 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
    Constantes 
    StreamType
     :
    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.
    Constantes 
    MediaType
     :
    Nom de constante
    Description
    Audio
    Type de média pour les diffusions audio.
    Video
    Type de média pour les diffusions vidéo.
    MediaHeartbeat.createMediaObject(<MEDIA_NAME>, <MEDIA_ID>, <MEDIA_LENGTH>, <STREAM_TYPE>, <MEDIA_TYPE>);
  2. 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
      Il est facultatif de joindre un objet de métadonnées standard à l’objet multimédia.
    • 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 :
      HashMap<String, String> mediaMetadata = new HashMap<String, String>(); mediaMetadata.put("isUserLoggedIn", "false"); mediaMetadata.put("tvStation", "Sample TV Station"); mediaMetadata.put("programmer", "Sample programmer");
  3. 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 :
    public void onVideoLoad(Observable observable, Object data) { _heartbeat.trackSessionStart(mediaInfo, mediaMetadata); }
    La deuxième valeur est le nom d’objet de métadonnées multimédia personnalisé que vous avez créé à l’étape 2.
    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 entre
    trackSessionStart
    et
    trackPlay
    ).
    Si vous n’utilisez pas de métadonnées multimédia personnalisées, envoyez simplement un objet vide pour le second argument dans
    trackSessionStart
    .
  4. 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
     :
    // Video is rendered on the screen) and call trackPlay. public void onVideoPlay(Observable observable, Object data) { _heartbeat.trackPlay(); }
  5. 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
     :
    public void onVideoComplete(Observable observable, Object data) { _heartbeat.trackComplete(); }
  6. 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
     :
    // Closes the media and/or the media completed and unloaded, // and call trackSessionEnd(). public void onMainVideoUnload(Observable observable, Object data) { _heartbeat.trackSessionEnd(); }
    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 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 multimédia.
  7. 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
     :
    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 appelle
    trackPause()
     :
    • L’utilisateur appuie explicitement sur le bouton de pause dans l’application.
    • Le lecteur se place dans l’état de pause.
    • (
      Applications mobiles
      ) - L’utilisateur place l’application en arrière-plan, mais vous souhaitez que l’application maintienne 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 le média à partir du point d’interruption.
  8. Identifiez l’événement du lecteur correspondant à la lecture multimédia et/ou à la reprise multimédia après une interruption et appelez
    trackPlay
    .
    // trackPlay() public void onVideoPlay(Observable observable, Object data) { _heartbeat.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 du média.
Consultez les ressources suivantes pour en savoir plus sur le suivi de la lecture principale :