Show Menu
TOPICS×

Timeline 2: utente abbandona la sessione

VOD, annunci pre-roll, annunci mid-roll, l'utente abbandona il contenuto in anticipo

I diagrammi seguenti illustrano la timeline dell'indicatore di riproduzione e la cronologia corrispondente delle azioni di un utente. I dettagli di ciascuna azione e le relative richieste sono presentati di seguito.

Dettagli azione

Azione 1 - Avvia sessione

Azione
Timeline azione (secondi)
Posizione testina di riproduzione (secondi)
Richiesta client
Pulsante Riproduzione automatica o Riproduzione premuto
0
0
/api/v1/sessions
Dettagli di implementazione
Questa chiamata segnala
l'intenzione dell'utente di riprodurre
un video. Restituisce un ID sessione (
{sid}
) al client utilizzato per identificare tutte le chiamate di tracciamento successive all’interno della sessione. Lo stato del lettore non è ancora "play", ma è invece "start". I parametri di sessione obbligatori devono essere inclusi nella
params
mappa nel corpo della richiesta. Sul back-end, questa chiamata genera una chiamata di avvio di Adobe Analytics.
Corpo della richiesta di esempio
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:sessionStart, params: { "media.playerName": "sample-html5-api-player", "analytics.trackingServer": "[ _YOUR-TS_ ]", "analytics.reportSuite": "[ _YOUR-RSID_ ]", "analytics.visitorId": "[ _YOUR-VISITOR-ID_ ]", "media.contentType": "VOD", "media.length": 60.3333333333333, "media.id": "VA API Sample Player", "visitor.marketingCloudOrgId": "[YOUR-MCID]", "media.name": "ClickMe", "media.channel": "sample-channel", "media.sdkVersion": "va-api-0.0.0", "analytics.enableSSL": false } }

Azione 2 - Avvio timer ping

Azione
Timeline azione (secondi)
Posizione testina di riproduzione (secondi)
Richiesta client
L'app avvia il timer evento
0
0
Dettagli di implementazione
Avviate il timer di ping dell'app. Il primo evento di ping dovrebbe quindi attivare 1 secondo in se ci sono annunci pre-roll, 10 secondi in caso contrario.

Azione 3 - Avvio interruzione annuncio

Azione
Timeline azione (secondi)
Posizione testina di riproduzione (secondi)
Richiesta client
Avvio pre-roll e interruzione
0
0
/api/v1/sessions/{sid}/events
Dettagli di implementazione
Gli annunci pre-roll devono essere tracciati. Gli annunci possono essere tracciati solo all'interno di un'interruzione di annuncio.
Corpo della richiesta di esempio
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:adBreakStart, params: { "media.ad.podFriendlyName": "ad_pod1", "media.ad.podIndex": 0, "media.ad.podSecond": 0 } }

Azione 4 - Inizio annuncio

Azione
Timeline azione (secondi)
Posizione testina di riproduzione (secondi)
Richiesta client
Track pre-roll Ad #1 start
0
0
/api/v1/sessions/{sid}/events
Dettagli di implementazione
Viene avviato un annuncio di 12 secondi.
Corpo della richiesta di esempio
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:adStart, params: { "media.ad.podFriendlyName": "ad_pod1", "media.ad.name": "Ad 1", "media.ad.id": "002", "media.ad.length": 7, "media.ad.podPosition": 1, "media.ad.playerName": "Sample Player", "media.ad.advertiser": "Ad Guys", "media.ad.campaignId": "1", "media.ad.creativeId": "42", "media.ad.siteId": "XYZ", "media.ad.creativeURL": "https://xyz-creative.com", "media.ad.placementId": "sample-placement2" }, }

Azione 5 - Punti annuncio

Azione
Timeline azione (secondi)
Posizione testina di riproduzione (secondi)
Richiesta client
L'app invia l'evento
1
0
/api/v1/sessions/{sid}/events
Dettagli di implementazione
Ping il backend ogni 1 secondo. (Gli annunci successivi non sono mostrati, nell'interesse della brevità.)
Corpo della richiesta di esempio
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:ping }

Azione 6 - Annuncio completato

Azione
Timeline azione (secondi)
Posizione testina di riproduzione (secondi)
Richiesta client
Track pre-roll Ad #1 completo
12
0
/api/v1/sessions/{sid}/events
Dettagli di implementazione
Il primo annuncio pre-roll è terminato.
Corpo della richiesta di esempio
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:adComplete }

Azione 7: interruzione annuncio completata

Azione
Timeline azione (secondi)
Posizione testina di riproduzione (secondi)
Richiesta client
Traccia pre-roll e interruzione completa
12
0
/api/v1/sessions/{sid}/events
Dettagli di implementazione
La pausa pubblicitaria è finita. Durante la pausa pubblicitaria, il giocatore è rimasto nello stato "play".
Corpo della richiesta di esempio
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:adBreakComplete }

Azione 8 - Riproduci contenuto

Azione
Timeline azione (secondi)
Posizione testina di riproduzione (secondi)
Richiesta client
Tracciare l’evento di riproduzione
12
0
/api/v1/sessions/{sid}/events
Dettagli di implementazione
Spostare il lettore allo stato "play"; iniziare il tracciamento dell’inizio della riproduzione del contenuto.
Corpo della richiesta di esempio
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:play, qoeData: { bitrate: 10000 } }

Azione 9 - Ping

Azione
Timeline azione (secondi)
Posizione testina di riproduzione (secondi)
Richiesta client
L'app invia l'evento
20
8
/api/v1/sessions/{sid}/events
Dettagli di implementazione
Eseguire il ping del backend ogni 10 secondi.
Corpo della richiesta di esempio
{ playerTime: { playhead: 8ß, ts: <timestamp> }, eventType:ping }

Azione 10 - Ping

Azione
Timeline azione (secondi)
Posizione testina di riproduzione (secondi)
Richiesta client
L'app invia l'evento
30
18
/api/v1/sessions/{sid}/events
Dettagli di implementazione
Eseguire il ping del backend ogni 10 secondi.
Corpo della richiesta di esempio
{ playerTime: { playhead: 18, ts: <timestamp> }, eventType:ping }

Azione 11 - Errore

Azione
Timeline azione (secondi)
Posizione testina di riproduzione (secondi)
Richiesta client
Errore. L'app invia informazioni sull'errore.
32
20
/api/v1/sessions/{sid}/events
Dettagli di implementazione
Corpo della richiesta di esempio
{ playerTime: { playhead: 20, ts: <timestamp> }, eventType:error }

Azione 12 - Riproduci contenuto

Azione
Timeline azione (secondi)
Posizione testina di riproduzione (secondi)
Richiesta client
L'app viene recuperata dall'errore, l'utente preme Play
37
20
/api/v1/sessions/{sid}/events
Dettagli di implementazione
Corpo della richiesta di esempio
{ playerTime: { playhead: 18, ts: <timestamp> }, eventType:play, qoeData: { bitrate: 10000 } }

Azione 13 - Ping

Azione
Timeline azione (secondi)
Posizione testina di riproduzione (secondi)
Richiesta client
L'app invia l'evento
40
28
/api/v1/sessions/{sid}/events
Dettagli di implementazione
Eseguire il ping del backend ogni 10 secondi.
Corpo della richiesta di esempio
{ playerTime: { playhead: 28, ts: <timestamp> }, eventType:ping }

Azione 14 - Inizio interruzione annuncio

Azione
Timeline azione (secondi)
Posizione testina di riproduzione (secondi)
Richiesta client
Tracciamento avvio intermedio e interruzione
45
33
/api/v1/sessions/{sid}/events
Dettagli di implementazione
Media roll con durata di 8 secondi: send
adBreakStart
.
Corpo della richiesta di esempio
{ playerTime: { playhead: 33, ts: <timestamp> }, eventType:adBreakStart, params: { "media.ad.podFriendlyName": "ad_pod2", "media.ad.podIndex": 1, "media.ad.podSecond": 33 } }

Azione 15 - Inizio annuncio

Azione
Timeline azione (secondi)
Posizione testina di riproduzione (secondi)
Richiesta client
Track mid-roll Ad #1 start
45
33
/api/v1/sessions/{sid}/events
Dettagli di implementazione
Tieni traccia dell’annuncio mid-roll.
Corpo della richiesta di esempio
{ playerTime: { playhead: 33, ts: <timestamp> }, eventType:adStart, params: { "media.ad.podFriendlyName": "ad_pod1", "media.ad.name": "Ad 1", "media.ad.id": "002", "media.ad.length": 8, "media.ad.podPosition": 1, "media.ad.playerName": "Sample Player", "media.ad.advertiser": "Ad Guys", "media.ad.campaignId": "7", "media.ad.creativeId": "40", "media.ad.siteId": "XYZ", "media.ad.creativeURL": "https://xyz_creative.com", "media.ad.placementId": "sample_placement2" }, }

Azione 16 - Chiudi app

Azione
Timeline azione (secondi)
Posizione testina di riproduzione (secondi)
Richiesta client
L'utente chiude l'app. L'app determina che l'utente ha abbandonato la visualizzazione e non torna a questa sessione.
48
33
/api/v1/sessions/{sid}/events
Dettagli di implementazione
Inviare
sessionEnd
al back-end VA per indicare che la sessione deve essere chiusa immediatamente, senza ulteriore elaborazione.
Corpo della richiesta di esempio
{ playerTime: { playhead: 33, ts: <timestamp> }, eventType:sessionEnd }