Tracciare la riproduzione di base in JavaScript 3.x track-core-playback-on-javascript
Questa documentazione tratta il tracciamento nella versione 3.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 Nome variabile Tipo Descrizione name
stringa Stringa non vuota che indica il nome del file multimediale. id
stringa Stringa non vuota che indica un identificatore del file multimediale univoco. length
numero Numero positivo che indica la lunghezza del file multimediale in secondi. Usa 0 se la lunghezza è sconosciuta. streamType
stringa mediaType
Tipo di file multimediale (audio o video). Costanti
StreamType
:table 0-row-2 1-row-2 2-row-2 Nome costante Descrizione VOD
Tipo di flusso per Video on Demand. AOD
Tipo di flusso per audio on-demand. Costanti
MediaType
: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 var mediaObject = ADB.Media.createMediaObject(<MEDIA_NAME>, <MEDIA_ID, <MEDIA_LENGTH>, <STREAM_TYPE>, <MEDIA_TYPE>);
-
Allega metadati
Facoltativamente, allega metadati standard e/o personalizzati alla sessione di tracciamento tramite variabili di dati di contesto.
-
Metadati standard
note note NOTE L’aggiunta dei metadati standard è facoltativa. -
Riferimento API per le chiavi di metadati multimediali - Chiavi di metadati standard - JavaScript
Consulta il set completo dei metadati disponibili qui: Parametri audio e video
-
-
Metadati personalizzati
Crea un oggetto variabile per le variabili personalizzate e compila i dati per questo elemento multimediale. Ad esempio:
code language-js /* Set context data */ var contextData = {}; //Standard metadata contextData[ADB.Media.VideoMetadataKeys] = "Sample Episode"; contextData[ADB.Media.VideoMetadataKeys] = "Sample Show"; //Custom metadata contextData["isUserLoggedIn"] = "false"; contextData["tvStation"] = "Sample TV Station";
-
-
Tracciare l’intenzione di inizio riproduzione
Per iniziare a tracciare una sessione multimediale, chiama
trackSessionStart
sull’istanza Media Heartbeat:code language-js var mediaObject = ADB.Media.createMediaObject("video-name", "video-id", 60.0, ADB.Media.StreamType.VOD, ADB.Media.MediaType.Video); var contextData = {}; //Standard metadata contextData[ADB.Media.VideoMetadataKeys] = "Sample Episode"; contextData[ADB.Media.VideoMetadataKeys] = "Sample Show"; //Custom metadata contextData["isUserLoggedIn"] = "false"; contextData["tvStation"] = "Sample TV Station"; tracker.trackSessionStart(mediaObject, contextData);
note important IMPORTANT trackSessionStart
tiene traccia delle intenzioni di riproduzione dell’utente, non dell’inizio della riproduzione. Questa API viene utilizzata per caricare dati/metadati e per stimare la metrica QoS relativa al tempo di avvio (durata tratrackSessionStart
etrackPlay
).note note NOTE Se non utilizzi contextData, invia semplicemente un oggetto vuoto per l’argomento data
intrackSessionStart
. -
Tracciare l’inizio effettivo della riproduzione
Identifica l’evento dal lettore multimediale per l’inizio della riproduzione, dove viene eseguito il rendering del primo fotogramma del file multimediale sullo schermo ed effettua una chiamata
trackPlay
.code language-js tracker.trackPlay();
-
Aggiorna il valore della testina 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 tracker.updatePlayhead(position)
note note NOTE Quando si chiama l'API tracker.updatePlayhead
, 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
tracker.updatePlayhead
almeno una volta al secondo.
-
Tracciare il completamento della riproduzione
Identifica l’evento dal lettore multimediale per il completamento della riproduzione in cui l’utente ha guardato il contenuto fino alla fine ed effettua una chiamata
trackComplete
.code language-js tracker.trackComplete();
-
Tracciare la fine della sessione
Identifica l’evento dal lettore multimediale per lo scaricamento/la chiusura della riproduzione in cui l’utente chiude l’elemento multimediale e/o l’elemento multimediale viene completato e scaricato ed effettua una chiamata
trackSessionEnd
.code language-js tracker.trackSessionEnd();
note important IMPORTANT trackSessionEnd
indica la fine di una sessione di tracciamento. Se la sessione è stata guardata correttamente fino al completamento, dove l’utente ha guardato il contenuto fino alla fine, assicurati chetrackComplete
venga chiamato prima ditrackSessionEnd
. DopotrackSessionEnd
, qualsiasi chiamata APItrack*
viene ignorata, tranne la chiamatatrackSessionStart
per una nuova sessione di tracciamento video. -
Tracciare tutti gli scenari di pausa possibili
Identifica l’evento dal lettore multimediale per la pausa ed effettua una chiamata
trackPause
.code language-js tracker.trackPause();
Scenari di pausa
Identifica uno scenario in cui il lettore multimediale 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 per la riproduzione e/o la ripresa dalla pausa ed effettua una chiamata
trackPlay
:code language-js tracker.trackPlay();
note tip TIP Potrebbe trattarsi della stessa origine evento utilizzata nel passaggio 4. Quando la riproduzione 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 JavaScript per un esempio di tracciamento completo.