Tracciare la riproduzione di base su iOS track-core-playback-on-ios
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 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 ADBMediaHeartbeatStreamTypeVOD
Tipo di flusso per video on demand ADBMediaHeartbeatStreamTypeLIVE
Tipo di flusso per il contenuto live ADBMediaHeartbeatStreamTypeLINEAR
Tipo di flusso per il contenuto lineare ADBMediaHeartbeatStreamTypeAOD
Tipo di flusso per audio on-demand ADBMediaHeartbeatStreamTypeAUDIOBOOK
Tipo di flusso per audiolibro ADBMediaHeartbeatStreamTypePODCAST
Tipo di flusso per Podcast MediaType
Costanti:table 0-row-2 1-row-2 2-row-2 Nome costante Descrizione ADBMediaTypeAudio
Tipo di file multimediale per flussi Audio. ADBMediaTypeVideo
Tipo di file multimediale per i flussi Video. Il formato generale per la creazione del
MediaObject
:code language-none ADBMediaObject *mediaObject = [ADBMediaHeartbeat createMediaObjectWithName:<MEDIA_NAME> mediaId:<MEDIA_ID> length:<MEDIA_LENGTH> streamType:<STREAM_TYPE> mediaType: <MEDIA_TYPE>];
-
Allegare metadati video
Facoltativamente, puoi allegare oggetti metadati video standard e/o personalizzati alla sessione di tracciamento video attraverso variabili dei dati di contesto.
-
Metadati video standard
-
Chiavi metadati video
Chiavi metadati iOS -
Consulta l’elenco completo dei metadati video qui: Parametri audio e video
note note NOTE Il collegamento dell’oggetto metadati video standard all’oggetto multimediale è facoltativo. -
Metadati personalizzati
Crea un oggetto variabile per le variabili personalizzate e lo popola con i dati del video. Ad esempio:
code language-none NSMutableDictionary *videoMetadata = [[NSMutableDictionary alloc] init]; [videoMetadata setObject:@"false" forKey:@"isUserLoggedIn"]; [videoMetadata setObject:@"Sample TV station" forKey:@"tvStation"];
-
-
Tracciare l’intenzione di avviare la riproduzione
Per iniziare a tracciare una sessione multimediale, effettua una chiamata
trackSessionStart
sull’istanza Media Heartbit.note tip TIP Il secondo valore corrisponde al nome dell’oggetto metadati video personalizzato creato nel passaggio 2. code language-none - (void)onMainVideoLoaded:(NSNotification *)notification { // [_mediaHeartbeat trackSessionStart:mediaObject data:nil]; [_mediaHeartbeat trackSessionStart:mediaObject data:videoMetadata]; }
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 ed effettua una chiamata
trackPlay
.code language-none - (void)onVideoPlay:(NSNotification *)notification { [_mediaHeartbeat trackPlay]; }
-
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 - (void)onVideoComplete:(NSNotification *)notification { [_mediaHeartbeat trackComplete]; }
-
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 - void)onMainVideoUnloaded:(NSNotification *)notification { [_mediaHeartbeat trackSessionEnd]; }
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 - (void)onVideoPause:(NSNotification *)notification { [_mediaHeartbeat trackPause]; }
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 - (void)onVideoPlay:(NSNotification *)notification { [_mediaHeartbeat trackPlay]; }
note tip TIP Potrebbe trattarsi della stessa origine evento utilizzata nel passaggio 4. Assicurati che ogni chiamata API trackPause()
sia associata alla successiva chiamata APItrackPlay()
quando la riproduzione video riprende.
Per ulteriori informazioni sul tracciamento della riproduzione core, consulta:
- Scenari di tracciamento: Riproduzione VOD senza annunci
- Lettore di esempio incluso nell’SDK per iOS, con un esempio di tracciamento completo.