Tracciare la riproduzione dei contenuti

Il tracciamento della riproduzione di base riguarda il caricamento dei contenuti multimediali, l’avvio, la pausa, la ripresa, il completamento e la fine della sessione. Sebbene non siano obbligatori, anche il buffering e il tracciamento della ricerca sono componenti core di un’implementazione completa di riproduzione.

Eventi del lettore

Evento lettore
Azione
Caricamento file multimediale
Crea oggetto multimediale; chiama SessionStart
Avvio file multimediale
Chiama Play
Pausa
Inizio pausa chiamata
Riprendi da pausa
Chiama Play
File multimediale completato
Chiama sessione completata
Interruzione/scaricamento contenuti multimediali
Chiama SessionEnd
Avvio buffering
Chiama BufferStart
Fine buffering
Chiama riproduzione (ripresa)
La ricerca inizia
Chiama SeekStart
Fine ricerca
Chiama SeekComplete, quindi chiama Play

Passaggi di implementazione

  1. Identifica quando l’utente attiva la riproduzione (l’utente fa clic su play o viene attivata la riproduzione automatica). Crea un oggetto multimediale con nome del contenuto, ID, lunghezza, tipo di flusso e tipo di file multimediale. Per le definizioni dei campi, vedere Nome contenuto, ID contenuto, Lunghezza contenuto, Tipo flusso e Tipo contenuto.
  2. Allega facoltativamente metadati — metadati standard (spettacolo, stagione, episodio, ecc.) e variabili di dati di contesto personalizzate. Vedi Show, Season, Episode, Genre e Network per i riferimenti alle chiavi di metadati standard.
  3. Chiamare Avvio sessione per iniziare a tenere traccia della sessione. In questo modo vengono caricati i dati e i metadati e viene avviata la misurazione QoS del tempo di avvio. SessionStart tiene traccia dell’intento da riprodurre, non del primo fotogramma.
  4. Chiama Play quando viene eseguito il rendering del primo fotogramma del contenuto sullo schermo.
  5. Chiama Avvia pausa quando il lettore si interrompe. Richiama di nuovo Play quando la riproduzione riprende. Non esiste un evento di ripresa separato.
  6. Chiama Sessione completata quando il visualizzatore raggiunge la fine del contenuto.
  7. Chiama Fine sessione quando il lettore viene scaricato o il visualizzatore abbandona il contenuto senza raggiungere la fine. SessionEnd chiude immediatamente la sessione e non è possibile tenere traccia di altri eventi successivi.
IMPORTANT
SessionEnd indica la fine di una sessione di tracciamento. Se la sessione è stata controllata correttamente fino al completamento, chiamare SessionComplete prima di SessionEnd. Qualsiasi altra chiamata di tracciamento viene ignorata dopo SessionEnd, tranne SessionStart per una nuova sessione.

Riproduzione core

Gli esempi seguenti mostrano un flusso di sessione completo, dall’inizio alla fine della sessione, fino al completamento del contenuto e alla fine della sessione.

Per informazioni dettagliate sull’implementazione per piattaforma, vedere Inizio sessione, Riproduci, Inizio pausa, Sessione completata e Fine sessione.

Buffering

L’avvio del buffer segnala che il lettore è in attesa di dati. La fine del buffer viene dedotta quando si invia un evento Play dopo BufferStart (API basate su XDM). Su Mobile SDK, chiama esplicitamente anche BufferComplete.

Per informazioni dettagliate sull’implementazione, vedere Avvio buffer.

Ricerca

La ricerca segnala che il visualizzatore sta pulendo. La fine della ricerca è seguita da Play per riprendere la riproduzione del contenuto.

Per informazioni dettagliate sull’implementazione, vedere Inizio pausa (inizio ricerca) e Riproduci (fine ricerca).

Gestione degli arresti dell’app

La riproduzione in un’applicazione multimediale può essere interrotta in diversi modi: l’utente preme la pausa, l’app va in background, arriva una telefonata. Indipendentemente dalla causa, le istruzioni di tracciamento sono le stesse:

  1. Chiama PauseStart quando l’applicazione viene interrotta (passa in background, il contenuto multimediale è messo in pausa, ecc.).
  2. Chiama Play quando l’applicazione torna in primo piano e/o il contenuto multimediale riprende la riproduzione.
NOTE
Non chiamare SessionStart quando l'app torna dal background. Quando si chiama SessionStart, la riproduzione fino a quel punto non viene conteggiata nel tempo totale di riproduzione e i marcatori di avanzamento, i segmenti e i limiti dei capitoli precedenti vengono persi.

Quando deve terminare una sessione in pausa? Se l’applicazione non consente la riproduzione in background, chiamare immediatamente PauseStart e quindi SessionEnd dopo circa un minuto in background. L’applicazione non può continuare a inviare ping di pausa dal background e tenere aperta la sessione a tempo indefinito offre un’esperienza insoddisfacente. Se l’applicazione non supporta la riproduzione in background (app audio, app video podcast), continua a inviare ping mentre è in background.

Riavvio dopo un lungo periodo di background: Se l’app è stata messa in background abbastanza a lungo da far scadere la sessione (inattività di 30 minuti), chiamare SessionEnd per chiudere in modo pulito qualsiasi sessione residua, quindi chiamare SessionStart per iniziare una nuova sessione quando il visualizzatore ritorna.

Ripresa di sessioni inattive

Una sessione scade automaticamente se non vengono ricevuti eventi per 10 minuti o se non si verifica alcun movimento dell’indicatore di riproduzione per 30 minuti. Se l’utente restituisce dopo la scadenza di una sessione, chiamare nuovamente SessionStart per aprire una nuova sessione.

Ripresa tra dispositivi (handoff tra dispositivi): Quando un visualizzatore trasferisce la riproduzione tra dispositivi (ad esempio, il cast da un telefono a un televisore), utilizza il flag di ripresa per unire le sessioni nel reporting di Analytics:

  1. Nel dispositivo di origine, chiamare SessionEnd quando il visualizzatore avvia il cast. Non chiamare SessionComplete: il contenuto non è terminato.
  2. Nel dispositivo di destinazione, chiamare SessionStart con il flag di ripresa impostato su true e trasmettere gli stessi metadati di contenuto e la posizione della testina di riproduzione dal dispositivo di origine.

Se si imposta il flag di ripresa, Analytics incrementa I contenuti riprendono invece di Avvii file multimediali per la seconda parte del passaggio.

Ripresa manuale di una sessione precedentemente chiusa: Se l’applicazione memorizza i dati utente e può riprendere una sessione precedentemente chiusa, impostare il flag di ripresa all’avvio della sessione. Consulta Inizio sessione per informazioni dettagliate sull’implementazione per tutte le piattaforme.

recommendation-more-help
media-analytics-help