Suivre la lecture principale sur iOS track-core-playback-on-ios

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 les Guides du développeur 1.x 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 createMediaObjectWithName

    table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
    Nom de variable Description Obligatoire
    name Nom de la vidéo Oui
    mediaid Identifiant unique de la vidéo Oui
    length Durée de la vidéo 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
    ADBMediaHeartbeatStreamTypeVOD Type de diffusion pour la vidéo à la demande.
    ADBMediaHeartbeatStreamTypeLIVE Type de diffusion pour le contenu en direct.
    ADBMediaHeartbeatStreamTypeLINEAR Type de diffusion pour le contenu linéaire.
    ADBMediaHeartbeatStreamTypeAOD Type de diffusion pour l’audio à la demande.
    ADBMediaHeartbeatStreamTypeAUDIOBOOK Type de diffusion pour les livres audio.
    ADBMediaHeartbeatStreamTypePODCAST Type de diffusion pour les podcasts.

    MediaTypeConstantes :

    table 0-row-2 1-row-2 2-row-2
    Nom de constante Description
    ADBMediaTypeAudio Type de média pour les diffusions audio.
    ADBMediaTypeVideo Type de média pour les diffusions vidéo.

    Format général pour la création de MediaObject :

    code language-none
    ADBMediaObject *mediaObject =
      [ADBMediaHeartbeat createMediaObjectWithName:<MEDIA_NAME>
                                           mediaId:<MEDIA_ID>
                                            length:<MEDIA_LENGTH>
                                        streamType:<STREAM_TYPE>
                                         mediaType: <MEDIA_TYPE>];
    
  2. Ajout de métadonnées vidéo

    Vous pouvez joindre des objets de métadonnées vidéo standard et/ou personnalisés à la session de suivi vidéo par le biais de variables de données contextuelles.

    • Métadonnées vidéo standard

      note note
      NOTE
      Il est facultatif de joindre un objet de métadonnées vidéo standard à l’objet multimédia.
    • 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
      NSMutableDictionary *videoMetadata = [[NSMutableDictionary alloc] init];
      [videoMetadata setObject:@"false" forKey:@"isUserLoggedIn"];
      [videoMetadata setObject:@"Sample TV station" forKey:@"tvStation"];
      
  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.

    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.
    code language-none
    - (void)onMainVideoLoaded:(NSNotification *)notification {
    //    [_mediaHeartbeat trackSessionStart:mediaObject data:nil];
        [_mediaHeartbeat trackSessionStart:mediaObject data:videoMetadata];
    }
    
    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 de la vidéo 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 vidéo personnalisées, envoyez simplement un objet vide pour l’argument data dans trackSessionStart, tel que décrit dans la ligne commentée de l’exemple iOS ci-dessus.
  4. 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
    - (void)onVideoPlay:(NSNotification *)notification {
        [_mediaHeartbeat trackPlay];
    }
    
  5. 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
    - (void)onVideoComplete:(NSNotification *)notification {
        [_mediaHeartbeat trackComplete];
    }
    
  6. 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
    - void)onMainVideoUnloaded:(NSNotification *)notification {
        [_mediaHeartbeat trackSessionEnd];
    }
    
    note important
    IMPORTANT
    trackSessionEnd marque 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 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 vidéo.
  7. 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
    - (void)onVideoPause:(NSNotification *)notification {
        [_mediaHeartbeat 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 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.
  8. 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
    - (void)onVideoPlay:(NSNotification *)notification {
        [_mediaHeartbeat 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 vidéo.

Consultez les ressources suivantes pour en savoir plus sur le suivi de la lecture principale :

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