Tracciamento riproduzione core su Android

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

IMPORTANTE

Se stai implementando una versione 1.x dell'SDK, puoi scaricare la Guida per gli sviluppatori 1.x per Android 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 createMediaObject

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

    StreamTypecostanti:

    Nome costante Descrizione
    VOD Tipo di flusso per Video on Demand.
    LIVE Tipo di flusso per il contenuto live.
    LINEAR Tipo di flusso per il contenuto lineare.
    AOD Tipo di flusso per Audio On Demand
    AUDIOBOOK Tipo di flusso per audio book
    PODCAST Tipo di flusso per Podcast

    MediaTypecostanti:

    Nome costante Descrizione
    Audio Tipo di supporto per flussi audio.
    Video Tipo di supporto per i flussi video.
    MediaHeartbeat.createMediaObject(<MEDIA_NAME>,  
      <MEDIA_ID>, <MEDIA_LENGTH>, <STREAM_TYPE>, <MEDIA_TYPE>);
    
  2. Allega metadati

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

    • Metadati standard

      Implementazione dei metadati standard su Android

      NOTA

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

    • Metadati personalizzati

      Crea un dizionario per le variabili personalizzate e popolalo con i dati per questo supporto. Ad esempio:

      HashMap<String, String> mediaMetadata =  
        new HashMap<String, String>();
      mediaMetadata.put("isUserLoggedIn", "false");
      mediaMetadata.put("tvStation", "Sample TV Station");
      mediaMetadata.put("programmer", "Sample programmer");
      
  3. Tracciare l'intenzione di avviare la riproduzione

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

    public void onVideoLoad(Observable observable, Object data) {  
        _heartbeat.trackSessionStart(mediaInfo, mediaMetadata);
    }
    
    SUGGERIMENTO

    Il secondo valore è il nome dell'oggetto metadati multimediali personalizzati creato al passaggio 2.

    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 multimediali e per stimare la metrica QoS time-to-start (la durata tra trackSessionStart e trackPlay).

    NOTA

    Se non utilizzi metadati multimediali personalizzati, invia semplicemente un oggetto vuoto per il secondo argomento in trackSessionStart.

  4. Tracciare l'inizio effettivo della riproduzione

    Identificare l'evento dal lettore multimediale per l'inizio della riproduzione multimediale, dove viene eseguito il rendering del primo fotogramma del file multimediale sullo schermo, e chiamare trackPlay:

    // Video is rendered on the screen) and call trackPlay.  
    public void onVideoPlay(Observable observable, Object data) {
        _heartbeat.trackPlay();
    }
    
  5. Tracciare il completamento della riproduzione

    Identifica l'evento dal lettore multimediale per il completamento della riproduzione multimediale, dove l'utente ha guardato il contenuto fino alla fine, e chiama trackComplete:

    public void onVideoComplete(Observable observable, Object data) {
        _heartbeat.trackComplete();
    }
    
  6. Monitora la fine della sessione

    Identificare l'evento dal lettore multimediale per lo scaricamento/la chiusura della riproduzione multimediale, in cui l'utente chiude il supporto e/o il supporto è stato completato e scaricato, e chiamare trackSessionEnd:

    // Closes the media and/or the media completed and unloaded,  
    // and call trackSessionEnd().  
    public void onMainVideoUnload(Observable observable, Object data) {  
        _heartbeat.trackSessionEnd();
    }
    
    IMPORTANTE

    trackSessionEnd segna la fine di una sessione di tracciamento dei contenuti multimediali. 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 dei contenuti multimediali.

  7. Tracciare tutti gli scenari di pausa possibili

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

    public void onVideoPause(Observable observable, Object data) {  
        _heartbeat.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 supporto dal punto di interruzione.
  8. Identifica l'evento dal lettore per la riproduzione di contenuti multimediali e/o la ripresa di contenuti multimediali dalla pausa e chiama trackPlay.

    // trackPlay()
    public void onVideoPlay(Observable observable, Object data) {  
        _heartbeat.trackPlay();
    }
    
    SUGGERIMENTO

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

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

In questa pagina