Tracciare la riproduzione di base in Roku track-core-playback-on-roku
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
.Specifihe di
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 del video Sì mediaid
Identificatore univoco del video Sì length
Lunghezza video 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 MEDIA_STREAM_TYPE_VOD
Tipo di flusso per Video on Demand. MEDIA_STREAM_TYPE_LIVE
Tipo di flusso per il contenuto LIVE. MEDIA_STREAM_TYPE_LINEAR
Tipo di flusso per contenuti LINEAR. MEDIA_STREAM_TYPE_AOD
Tipo di flusso per audio on-demand MEDIA_STREAM_TYPE_AUDIOBOOK
Tipo di flusso per audiolibro MEDIA_STREAM_TYPE_PODCAST
Tipo di flusso per Podcast MediaType
Costanti:table 0-row-2 1-row-2 2-row-2 Nome costante Descrizione MEDIA_STREAM_TYPE_AUDIO
Tipo di file multimediale per flussi Audio. MEDIA_STREAM_TYPE_VIDEO
Tipo di file multimediale per i flussi Video. Crea un oggetto informazioni multimediali per video con contenuto VOD:
code language-none mediaInfo = adb_media_init_mediainfo( "<MEDIA_NAME>", "<MEDIA_ID>", 600, ADBMobile().MEDIA_STREAM_TYPE_VOD, ADBMobile().MEDIA_TYPE_VIDEO )
oppure
code language-none mediaInfo = adb_media_init_mediainfo() mediaInfo.name = "<MEDIA_NAME>" mediaInfo.id = "<MEDIA_ID>" mediaInfo.length = 600 mediaInfo.streamType = ADBMobile().MEDIA_STREAM_TYPE_VOD mediaInfo.mediaType = ADBMobile().MEDIA_TYPE_VIDEO
Crea un oggetto informazioni multimediali per video con contenuto AOD:
code language-none mediaInfo = adb_media_init_mediainfo( "<MEDIA_NAME>", "<MEDIA_ID>", 600, ADBMobile().MEDIA_STREAM_TYPE_AOD, ADBMobile().MEDIA_TYPE_AUDIO )
oppure
code language-none mediaInfo = adb_media_init_mediainfo() mediaInfo.name = "<MEDIA_NAME>" mediaInfo.id = "<MEDIA_ID>" mediaInfo.length = 600 mediaInfo.streamType = ADBMobile().MEDIA_STREAM_TYPE_AOD mediaInfo.mediaType = ADBMobile().MEDIA_TYPE_AUDIO
-
Allega metadati
Facoltativamente, allega oggetti metadati standard e/o personalizzati alla sessione di tracciamento tramite variabili di dati di contesto.
- Metadati standard
Implementare metadati standard in Roku
<div class="extension note">
<div>NOTE</div>
<div>
<p>Il collegamento dell’oggetto metadati video standard all’oggetto multimediale è facoltativo.</p>
</div>
</div>
-
Metadati personalizzati
Crea un oggetto variabile per le variabili personalizzate e lo popola con i dati del video. Ad esempio:
code language-none mediaContextData = {} mediaContextData["cmk1"] = "cmv1" mediaContextData["cmk2"] = "cmv2"
-
Tracciare l’intenzione di inizio riproduzione
Per iniziare a tracciare una sessione multimediale, chiama
trackSessionStart
sull’istanza Media Heartbeat:code language-none ADBMobile().mediaTrackSessionStart(mediaInfo,mediaContextData)
note tip TIP Il secondo valore corrisponde al nome dell’oggetto metadati video personalizzato creato nel passaggio 2. note important IMPORTANT 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 relativa al tempo di avvio (durata tratrackSessionStart
etrackPlay
).note note NOTE Se non utilizzi metadati video personalizzati, invia semplicemente un oggetto vuoto per l’argomento data
intrackSessionStart
, come mostrato nella riga esterna di commento nell’esempio di iOS precedente. -
Tracciare l’inizio effettivo della riproduzione
Identifica l’evento dal lettore video per l’inizio della riproduzione, in cui viene eseguito il rendering del primo fotogramma del video sullo schermo, quindi effettua una chiamata
trackPlay
.code language-none ADBMobile().mediaTrackPlay()
-
Aggiorna il valore dell'indicatore di riproduzione
Quando l'indicatore di riproduzione multimediale cambia, notifica l'SDK chiamando l'API
mediaUpdatePlayhead
.
Per il tracciamento dei video on-demand (VOD), il valore è specificato in secondi dall’inizio dell’elemento multimediale.
Per lo streaming live, se il lettore non fornisce informazioni sulla durata del contenuto, il valore può essere specificato come il numero di secondi trascorsi dalla mezzanotte UTC di quel giorno.code language-none ADBMobile().mediaUpdatePlayhead(position)
note note NOTE Quando si chiama l'API mediaUpdatePlayhead
, tenere presente quanto segue:- Quando si utilizzano i marcatori di avanzamento, è necessario specificare la durata del contenuto e la testina di riproduzione deve essere aggiornata come numero di secondi dall’inizio dell’elemento multimediale, a partire da 0.
- Quando si utilizzano Media SDK, è necessario chiamare l'API
mediaUpdatePlayhead
almeno una volta al secondo.
-
Tracciare il completamento della riproduzione
Identifica l’evento dal lettore video per il completamento della riproduzione, in cui l’utente ha guardato il contenuto fino alla fine, ed effettua una chiamata
trackComplete
.code language-none ADBMobile().mediaTrackComplete()
-
Tracciamento della fine della sessione
Identifica l’evento dal lettore video per lo scaricamento/la chiusura della riproduzione, in cui l’utente chiude il video e/o il video viene completato e scaricato, quindi effettua una chiamata
trackSessionEnd
.code language-none ADBMobile().mediaTrackSessionEnd()
note important IMPORTANT trackSessionEnd
indica la fine di una sessione di tracciamento video. Se la sessione è stata vista correttamente fino al completamento, per cui l’utente ha guardato il contenuto fino alla fine, assicurati chetrackComplete
venga chiamato prima ditrackSessionEnd
. DopotrackSessionEnd
, qualsiasi chiamata APItrack*
viene ignorata, tranne che la chiamatatrackSessionStart
per una nuova sessione di tracciamento video. -
Tracciare tutti gli scenari di pausa possibili
Identifica l’evento dal lettore video per la pausa video e la chiamata
trackPause
:code language-none ADBMobile().mediaTrackPause()
Scenari di pausa
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): si verifica una qualsiasi interruzione del sistema causando l’esecuzione in background dell’applicazione. 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 il video dal punto in cui è stato interrotto.
-
Identifica l’evento dal lettore per la riproduzione video e/o la ripresa del video dalla pausa ed effettua una chiamata
trackPlay
.code language-none ADBMobile().mediaTrackPlay()
note tip TIP Potrebbe trattarsi della stessa origine evento utilizzata nel passaggio 4. Quando la riproduzione del video riprende, assicurati che ogni chiamata API trackPause()
sia associata alla seguente chiamata APItrackPlay()
.
- Scenari di tracciamento: riproduzione VOD senza annunci
- Lettore di esempio incluso con l’SDK Roku per un esempio di tracciamento completo.