Tracciamento riproduzione core su iOS

Questa documentazione tratta il tracciamento nella versione 2.x dell'SDK.

IMPORTANTE

Se implementi una versione 1.x dell'SDK, puoi scaricare le guide per sviluppatori 1.x qui: Scaricare gli SDK

  1. Configurazione del tracciamento iniziale

    Identifica quando l'utente attiva l'intenzione di riproduzione (l'utente fa clic su play e/o autoplay è attivato) e crea un'istanza MediaObject.

    API createMediaObjectWithName

    Nome variable Descrizione Obbligatorio
    name Nome video
    mediaid Identificatore univoco del video
    length Lunghezza del video
    streamType Tipo di flusso (vedere Costanti StreamType di seguito)
    mediaType Tipo di supporto (vedi Costanti MediaType di seguito)

    StreamTypecostanti:

    Nome costante Descrizione
    ADBMediaHeartbeatStreamTypeVOD Tipo di flusso per video on Demand
    ADBMediaHeartbeatStreamTypeLIVE Tipo di flusso per il contenuto live
    ADBMediaHeartbeatStreamTypeLINEAR Tipo di flusso per il contenuto lineare
    ADBMediaHeartbeatStreamTypeAOD Tipo di flusso per Audio On Demand
    ADBMediaHeartbeatStreamTypeAUDIOBOOK Tipo di flusso per audio book
    ADBMediaHeartbeatStreamTypePODCAST Tipo di flusso per Podcast

    MediaTypecostanti:

    Nome costante Descrizione
    ADBMediaTypeAudio Tipo di supporto per flussi audio.
    ADBMediaTypeVideo Tipo di supporto per i flussi video.

    Il formato generale per la creazione di MediaObject:

    ADBMediaObject *mediaObject =  
      [ADBMediaHeartbeat createMediaObjectWithName:<MEDIA_NAME>
                                           mediaId:<MEDIA_ID>
                                            length:<MEDIA_LENGTH>                       
                                        streamType:<STREAM_TYPE>
                                         mediaType: <MEDIA_TYPE>];
    
  2. Allegare metadati video

    Facoltativamente, allega oggetti metadati video standard e/o personalizzati alla sessione di tracciamento video attraverso variabili di dati di contesto.

    • Metadati video standard

      NOTA

      Il collegamento dell'oggetto metadati video standard all'oggetto multimediale è facoltativo.

    • Metadati personalizzati

      Crea un oggetto variabile per le variabili personalizzate e inserisci i dati del video. Ad esempio:

      NSMutableDictionary *videoMetadata = [[NSMutableDictionary alloc] init];
      [videoMetadata setObject:@"false" forKey:@"isUserLoggedIn"];
      [videoMetadata setObject:@"Sample TV station" forKey:@"tvStation"];
      
  3. Tracciare l'intenzione di avviare la riproduzione

    Per iniziare a monitorare una sessione multimediale, chiama trackSessionStart sull'istanza Media Heartbeat.

    SUGGERIMENTO

    Il secondo valore è il nome dell'oggetto metadati video personalizzato creato al passaggio 2.

    - (void)onMainVideoLoaded:(NSNotification *)notification {
    //    [_mediaHeartbeat trackSessionStart:mediaObject data:nil];
        [_mediaHeartbeat trackSessionStart:mediaObject data:videoMetadata];
    }
    
    IMPORTANTE

    trackSessionStart tiene traccia delle intenzioni dell'utente in merito alla riproduzione, non dell'inizio della riproduzione. Questa API viene utilizzata per caricare i dati/metadati video e per stimare la metrica QoS time-to-start (la durata tra trackSessionStart e trackPlay).

    NOTA

    Se non utilizzi metadati video personalizzati, invia semplicemente un oggetto vuoto per l’argomento data in trackSessionStart, come mostrato nella riga commento nell’esempio iOS precedente.

  4. Tracciare l'inizio effettivo della riproduzione

    Identifica l’evento dal lettore video per l’inizio della riproduzione del video, in cui viene eseguito il rendering del primo fotogramma del video sullo schermo, e chiama trackPlay:

    - (void)onVideoPlay:(NSNotification *)notification {
        [_mediaHeartbeat trackPlay];
    }
    
  5. Tracciare il completamento della riproduzione

    Identifica l’evento dal lettore video per il completamento della riproduzione video, in cui l’utente ha guardato il contenuto fino alla fine, e chiama trackComplete:

    - (void)onVideoComplete:(NSNotification *)notification {
        [_mediaHeartbeat trackComplete];
    }
    
  6. Monitora la fine della sessione

    Identifica l’evento dal lettore video per lo scaricamento/la chiusura della riproduzione video, in cui l’utente chiude il video e/o il video viene completato e scaricato, e chiama trackSessionEnd:

    - void)onMainVideoUnloaded:(NSNotification *)notification {
        [_mediaHeartbeat trackSessionEnd];
    }
    
    IMPORTANTE

    trackSessionEnd segna la fine di una sessione di tracciamento video. Se la sessione è stata controllata correttamente al completamento, dove l’utente ha guardato il contenuto fino alla fine, assicurati che trackComplete venga chiamato prima di trackSessionEnd. Qualsiasi altra chiamata API track* viene ignorata dopo trackSessionEnd, tranne trackSessionStart per una nuova sessione di tracciamento video.

  7. Tracciare tutti gli scenari di pausa possibili

    Identifica l'evento dal lettore video per la pausa video e chiama trackPause:

    - (void)onVideoPause:(NSNotification *)notification {
        [_mediaHeartbeat trackPause];
    }
    

    Pausa scenari

    Identifica qualsiasi scenario in cui il lettore video verrà messo in pausa e assicurati che trackPause sia chiamato correttamente. I seguenti scenari richiedono tutti che la chiamata all'app trackPause():

    • L’utente inserisce esplicitamente una pausa nell’app.
    • Il lettore si mette in stato di Pausa.
    • (App mobili) - L'utente mette l'applicazione in background, ma desideri che l'app mantenga aperta la sessione.
    • (App mobili) - Si verifica un qualsiasi tipo di interruzione del sistema che causa lo sfondo di un'applicazione. Ad esempio, l’utente riceve una chiamata, o si verifica un pop-up da un’altra applicazione, ma si desidera che l’applicazione mantenga in vita la sessione per dare all’utente la possibilità di riprendere il video dal punto di interruzione.
  8. Identifica l'evento dal lettore per la riproduzione video e/o la ripresa video dalla pausa e chiama trackPlay:

    - (void)onVideoPlay:(NSNotification *)notification {
        [_mediaHeartbeat trackPlay];
    }
    
    SUGGERIMENTO

    Può trattarsi della stessa origine evento utilizzata nel passaggio 4. Assicurati che ogni trackPause() chiamata API sia associata a una seguente chiamata trackPlay() API quando la riproduzione video riprende.

Per ulteriori informazioni sul tracciamento della riproduzione core, consulta quanto segue:

In questa pagina