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 nameNome file multimediale Sì mediaIdIdentificatore univoco del file multimediale Sì lengthLunghezza del file multimediale Sì streamTypeTipo di flusso (vedi Costanti StreamType sotto) Sì mediaTypeTipo di file multimediale (vedi Costanti MediaType sotto) Sì StreamTypeCostanti: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 VODTipo di flusso per Video on Demand. LIVETipo di flusso per il contenuto Live. LINEARTipo di flusso per contenuti Linear. AODTipo di flusso per audio on-demand AUDIOBOOKTipo di flusso per audiolibro PODCASTTipo di flusso per Podcast MediaTypeCostanti:table 0-row-2 1-row-2 2-row-2 Nome costante Descrizione AudioTipo di file multimediale per flussi Audio. VideoTipo 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
trackSessionStartsull’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 trackSessionStarttiene 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 tratrackSessionStartetrackPlay).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 trackSessionEndcontrassegna 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 chetrackCompletevenga chiamato prima ditrackSessionEnd. Qualsiasi altra chiamata APItrack*viene ignorata dopotrackSessionEnd, trannetrackSessionStartper 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
trackPausesia 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.