Tracciare la riproduzione di base su Android track-core-playback-on-android
Questa documentazione tratta il tracciamento nella versione 2.x dell’SDK.
-
Configurazione del tracciamento iniziale
Identifica quando l’utente attiva l’intenzione di riproduzione (l’utente fa clic su play e/o l’esecuzione automatica è attiva) e crea un’istanza
MediaObject
.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 Nome variabile Descrizione Obbligatorio name
Nome file multimediale Sì mediaId
Identificatore univoco del file multimediale Sì length
Lunghezza del file multimediale Sì streamType
Tipo di flusso (vedi Costanti StreamType sotto) Sì mediaType
Tipo di file multimediale (vedi Costanti MediaType sotto) Sì StreamType
Costanti:table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 Nome costante Descrizione VOD
Tipo di flusso per Video on Demand. LIVE
Tipo di flusso per il contenuto Live. LINEAR
Tipo di flusso per contenuti Linear. AOD
Tipo di flusso per audio on-demand AUDIOBOOK
Tipo di flusso per audiolibro PODCAST
Tipo di flusso per Podcast MediaType
Costanti:table 0-row-2 1-row-2 2-row-2 Nome costante Descrizione Audio
Tipo di file multimediale per flussi Audio. Video
Tipo di file multimediale per i flussi Video. code language-none MediaHeartbeat.createMediaObject(<MEDIA_NAME>, <MEDIA_ID>, <MEDIA_LENGTH>, <STREAM_TYPE>, <MEDIA_TYPE>);
-
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
note note NOTE Il collegamento dell’oggetto metadati standard all’oggetto multimediale è facoltativo. - Riferimento API per le chiavi di metadati multimediali - Chiavi metadati standard - Android
- Vedi il set completo di metadati video disponibili qui: Parametri audio e video
-
Metadati personalizzati
Crea un dizionario per le variabili personalizzate e compilalo con i dati per questo file multimediale. Ad esempio:
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");
-
-
Tracciare l’intenzione di avviare la riproduzione
Per iniziare a tracciare una sessione multimediale, chiama
trackSessionStart
sull’istanza Media Heartbeat. Ad esempio:code language-java public void onVideoLoad(Observable observable, Object data) { _heartbeat.trackSessionStart(mediaInfo, mediaMetadata); }
note tip TIP Il secondo valore è il nome dell’oggetto metadati multimediali personalizzati creato al passaggio 2. note important IMPORTANT trackSessionStart
tiene traccia delle intenzioni di riproduzione dell’utente, non dell’inizio della riproduzione. Questa API viene utilizzata per caricare i dati/metadati multimediali e per stimare la metrica QoS del tempo per l’avvio (la durata tratrackSessionStart
etrackPlay
).note note NOTE Se non utilizzi metadati multimediali personalizzati, è sufficiente inviare un oggetto vuoto per il secondo argomento in trackSessionStart
. -
Tracciare l’inizio effettivo della riproduzione
Identifica l’evento dal lettore multimediale relativo all’inizio della riproduzione, dove viene eseguito il rendering del primo fotogramma del contenuto multimediale sullo schermo, e chiama
trackPlay
:code language-java // Video is rendered on the screen) and call trackPlay. public void onVideoPlay(Observable observable, Object data) { _heartbeat.trackPlay(); }
-
Tracciare il completamento della riproduzione
Identifica l’evento dal lettore multimediale relativo al completamento della riproduzione multimediale, in cui l’utente ha guardato il contenuto fino alla fine, e chiama
trackComplete
:code language-java public void onVideoComplete(Observable observable, Object data) { _heartbeat.trackComplete(); }
-
Tracciare la fine della sessione
Identifica l’evento dal lettore multimediale relativo allo scaricamento/chiusura della riproduzione multimediale, in cui l’utente chiude il contenuto multimediale e/o il contenuto viene completato e scaricato, e chiama
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
contrassegna il termine di una sessione di tracciamento dei contenuti multimediali. Se la sessione è stata guardata correttamente fino al completamento, in cui l’utente ha guardato il contenuto fino alla fine, assicurati chetrackComplete
venga chiamato prima ditrackSessionEnd
. Qualsiasi altra chiamata APItrack*
viene ignorata dopotrackSessionEnd
, trannetrackSessionStart
per una nuova sessione di tracciamento dei contenuti multimediali. -
Tracciare tutti i possibili scenari di pausa
Identifica l’evento dal lettore multimediale relativo alla sospensione del contenuto multimediale e chiama
trackPause
:code language-java public void onVideoPause(Observable observable, Object data) { _heartbeat.trackPause(); }
Scenari di sospensione
Identifica uno scenario in cui il lettore video si interrompe e verifica che
trackPause
sia chiamato correttamente. I seguenti scenari richiedono tutti una chiamatatrackPause()
dall’app:- L’utente mette esplicitamente in pausa l’app.
- Il lettore si mette in pausa da solo.
- (App per dispositivi mobili): l’utente mette l’applicazione in background, ma si desidera invece che l’app mantenga aperta la sessione.
- (App per dispositivi mobili) - Può verificarsi qualsiasi tipo di interruzione di sistema che porta l’applicazione in background. Ad esempio, l’utente riceve una chiamata oppure la notifica da un’altra applicazione, ma desideri che l’applicazione mantenga aperta la sessione per dare all’utente l’opportunità di riprendere l’elemento multimediale dal punto in cui è stato interrotto.
-
Identifica l’evento dal lettore relativo alla riproduzione e/o la ripresa di contenuti multimediali dalla sospensione e chiama
trackPlay
.code language-java // trackPlay() public void onVideoPlay(Observable observable, Object data) { _heartbeat.trackPlay(); }
note tip TIP Potrebbe trattarsi della stessa origine evento utilizzata nel passaggio 4. Assicurati che ogni chiamata API di trackPause()
sia associata alla successiva chiamata API ditrackPlay()
quando la riproduzione multimediale riprende.
Per ulteriori informazioni sul tracciamento della riproduzione core, consulta:
- Scenari di tracciamento: riproduzione VOD senza annunci
- Lettore di esempio incluso nell’SDK di Android per un esempio di tracciamento completo.