Tracciamento di più stati del lettore
A volte due stati del lettore iniziano e terminano contemporaneamente oppure il termine di uno stato è anche l’inizio di un altro, come mostrato nell’immagine seguente:
L’implementazione corrente consente di eseguire entrambe gli scenari:
stateStart(pictureInPicture)- t0stateStart(mute)- t0stateEnd(mute)- t1stateEnd(pictureInPicture)- t1stateStart(fullScreen)- t1stateEnd(fullScreen)- t2
Tuttavia, questo richiede di emettere più eventi stateStart e stateEnd per segnalare più modifiche simultanee dello stato. Per
ottimizzare questo comportamento comune, è stato implementato un nuovo tipo di evento statesUpdate, che termina un elenco di stati
e ne avvia uno di nuovi stati.
Utilizzando il nuovo evento statesUpdate, l’elenco di eventi precedente diventa:
statesUpdate(statesEnd=[], statesStart=[pictureInPicture, mute])- t0statesUpdate(statesEnd=[mute, pictureInPicture], statesStart=[fullScreen])- t1statesUpdate(statesEnd=[fullScreen], statesStart=[])- t2
Il numero di chiamate per gli aggiornamenti di stato è stato ridotto da sei a tre per lo stesso comportamento. L’ultimo evento
avrebbe potuto essere anche un semplice stateEnd(fullScreen).
Implementazione API Media Collection mpst-api
Puoi utilizzare l’API Media Collection per implementare il tracciamento di più stati del lettore.
Esempio
Di seguito è riportato un esempio di implementazione dell’API Media Collection per il tracciamento di più stati del lettore.
// statesUpdate (ex: mute and pictureInPicture are switched on)
http(s)://<Analytics_Visitor_Namespace>.hb-api.omtrdc.net/api/v1/sessions/<SID>/events
{
"eventType": "statesUpdate",
"params": {
"statesStart": [
{
"media.state.name": "mute"
},
{
"media.state.name": "pictureInPicture"
}
]
},
"playerTime": {
"playhead": 0,
"ts": 1569999130627
}
}
// statesUpdate (ex: mute and pictureInPicture are switched off, fullScreen is switched on)
http(s)://<Analytics_Visitor_Namespace>.hb-api.omtrdc.net/api/v1/sessions/<SID>/events
{
"eventType": "statesUpdate",
"params": {
"statesEnd": [
{
"media.state.name": "mute"
},
{
"media.state.name": "pictureInPicture"
}
],
"statesStart": [
{
"media.state.name": "fullScreen"
}
]
},
"playerTime": {
"playhead": 0,
"ts": 1569999130627
}
}
// statesUpdate (ex: fullScreen is switched off)
http(s)://<Analytics_Visitor_Namespace>.hb-api.omtrdc.net/api/v1/sessions/<SID>/events
{
"eventType": "statesUpdate",
"params": {
"statesEnd": [
{
"media.state.name": "fullScreen"
}
]
},
"playerTime": {
"playhead": 0,
"ts": 1569999130627
}
}
Implementazione di Media SDK
Non esiste alcuna implementazione di Media SDK.