Tracciare la riproduzione di base su Android

IMPORTANTE

Questa documentazione descrive il tracciamento nella versione 2.x dell’SDK. Se stai implementando una versione 1.x dell’SDK, puoi scaricare la guida per sviluppatori 1.x per Android qui: Download di SDK

  1. Configurazione iniziale tracciamento

    Identificare quando l’utente attiva l’intenzione di riproduzione (l’utente fa clic su play e/o la riproduzione automatica è attivata) e creare un’ MediaObject istanza.

    createMediaObject API

    Nome della variabile Descrizione Obbligatorio
    name Nome file multimediale
    mediaId Identificatore univoco del supporto
    length Lunghezza del supporto
    streamType Tipo di flusso (vedere le costanti __ StreamType riportate di seguito)
    mediaType Tipo di supporto (vedere le costanti __ MediaType riportate 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 la Rubrica audio
    PODCAST Tipo di flusso per Podcast

    MediaTypecostanti:

    Nome costante Descrizione
    Audio Tipo di supporto per i 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

    È possibile allegare oggetti metadati standard e/o personalizzati alla sessione di tracciamento tramite variabili di dati di contesto.

    • Metadati standard

      Implementare i metadati standard su Android

      NOTA

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

      • Riferimento API per le chiavi di metadati multimediali - chiavi di metadati standard - Android
      • Consultate il set completo di metadati video disponibili qui: Parametri audio e video
    • Metadati personalizzati

      Create un dizionario per le variabili personalizzate e inserite 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. Tenere traccia dell’intenzione di avviare la riproduzione

    Per avviare il tracciamento di una sessione multimediale, invocate trackSessionStart l’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 multimediale personalizzato creato al punto 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 utilizzate metadati multimediali personalizzati, inviate semplicemente un oggetto vuoto per il secondo argomento in trackSessionStart.

  4. Tracciare l’inizio effettivo della riproduzione

    Mediante questo componente, potete identificare l’evento dal lettore multimediale per l’inizio della riproduzione, in cui viene riprodotto il 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. Tenere traccia del completamento della riproduzione

    Identificate l’evento dal lettore multimediale per il completamento della riproduzione, in cui l’utente ha guardato il contenuto fino alla fine, e chiamate trackComplete:

    public void onVideoComplete(Observable observable, Object data) { 
        _heartbeat.trackComplete(); 
    }
    
  6. Tenere traccia della 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 supporti. Se la sessione è stata guardata con successo e l’utente ha guardato il contenuto fino alla fine, accertatevi che trackComplete venga chiamato prima trackSessionEnd. Qualsiasi altra chiamata track* API viene ignorata dopo trackSessionEnd, fatta eccezione per trackSessionStart una nuova sessione di tracciamento dei supporti.

  7. Tenere traccia di tutti gli scenari di pausa possibili

    Identificare l’evento dal lettore multimediale per la pausa e la chiamata del supporto trackPause:

    public void onVideoPause(Observable observable, Object data) {  
        _heartbeat.trackPause(); 
    }
    

    Pausa scenari

    Identificate eventuali situazioni in cui il lettore video si interrompe e accertatevi che venga chiamato trackPause correttamente. Tutti gli scenari seguenti richiedono che la chiamata dell’app trackPause():

    • L’utente interrompe esplicitamente la pausa nell’app.
    • Il lettore si mette nello stato Pausa.
    • (App mobili) - L’utente mette l’applicazione in background, ma si desidera che l’app tenga aperta la sessione.
    • (App mobili) - Si verifica qualsiasi tipo di interruzione del sistema che causa il background 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. Identificare l’evento dal lettore per la riproduzione di contenuti multimediali e/o la ripresa di contenuti multimediali dalla pausa e dalla chiamata trackPlay.

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

    Può trattarsi della stessa origine evento utilizzata nel passaggio 4. Quando la riproduzione dei contenuti multimediali riprende, accertatevi che ogni chiamata trackPause() API sia associata alla seguente chiamata trackPlay() API.

Per ulteriori informazioni sul tracciamento della riproduzione di base, consultate:

  • Scenari di tracciamento: Riproduzione VOD senza annunci
  • Lettore di esempio incluso con Android SDK per un esempio di tracciamento completo.

In questa pagina