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 nameNome del video Sì mediaidIdentificatore univoco del video Sì lengthLunghezza video 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 MEDIA_STREAM_TYPE_VODTipo di flusso per Video on Demand. MEDIA_STREAM_TYPE_LIVETipo di flusso per il contenuto LIVE. MEDIA_STREAM_TYPE_LINEARTipo di flusso per contenuti LINEAR. MEDIA_STREAM_TYPE_AODTipo di flusso per audio on-demand MEDIA_STREAM_TYPE_AUDIOBOOKTipo di flusso per audiolibro MEDIA_STREAM_TYPE_PODCASTTipo di flusso per Podcast MediaTypeCostanti:table 0-row-2 1-row-2 2-row-2 Nome costante Descrizione MEDIA_STREAM_TYPE_AUDIOTipo di file multimediale per flussi Audio. MEDIA_STREAM_TYPE_VIDEOTipo 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_VIDEOCrea 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
trackSessionStartsull’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 trackSessionStarttiene 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 tratrackSessionStartetrackPlay).note note NOTE Se non utilizzi metadati video personalizzati, invia semplicemente un oggetto vuoto per l’argomento dataintrackSessionStart, 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, avvisare 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
mediaUpdatePlayheadalmeno 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 trackSessionEndindica 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 chetrackCompletevenga chiamato prima ditrackSessionEnd. DopotrackSessionEnd, qualsiasi chiamata APItrack*viene ignorata, tranne che la chiamatatrackSessionStartper 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
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): 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.