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.

IMPORTANT
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.

    API createMediaObject

    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

    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
    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.

    MediaTypeConstantes :

    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>);
    
  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

      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.
    • 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");
      
  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 :

    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 entre trackSessionStart et trackPlay).
    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.
  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 :

    code language-java
    // 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 :

    code language-java
    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 :

    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 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 :

    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 appelle trackPause() :

    • 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.
  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.

    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’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 :

recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb