Cette page traite de la collecte de données pour l’état du lecteur Sous-titrage. Consultez Flux affectés par le sous-titrage, Nombre de sous-titrages et Durée totale du sous-titrage pour les mesures de rapports correspondantes.
L’état du lecteur de sous-titrage est suivi lorsque la visionneuse active ou désactive les sous-titres. Déclenchez un événement de début d’état lorsque les sous-titres sont activés et un événement de fin d’état lorsque les sous-titres sont désactivés. Le serveur principal calcule trois mesures à partir de ces événements : les flux impactés, le nombre d’entrées d’état et la durée totale d’état.
a.media.states.closedcaptioning.set, a.media.states.closedcaptioning.count, a.media.states.closedcaptioning.timemediaCollection.statesStart[] et mediaCollection.statesEnd[] (entrées avec name: "closedCaptioning")c_contextdata.a.media.states.closedcaptioning.set, c_contextdata.a.media.states.closedcaptioning.count, c_contextdata.a.media.states.closedcaptioning.timeSDK web
Utilisez sendEvent pour envoyer un événement media.statesUpdate avec l’état ajouté à statesStart :
alloy("sendEvent", {
xdm: {
eventType: "media.statesUpdate",
mediaCollection: {
statesStart: [{ name: "closedCaptioning" }],
sessionID: "{sid}",
playhead: 60
}
}
});
Lorsque la visionneuse désactive les sous-titres, envoyez un autre événement dont le statut est en statesEnd :
alloy("sendEvent", {
xdm: {
eventType: "media.statesUpdate",
mediaCollection: {
statesEnd: [{ name: "closedCaptioning" }],
sessionID: "{sid}",
playhead: 90
}
}
});
SDK mobile
Utilisez tracker.trackPlayerStateStart() et tracker.trackPlayerStateEnd() avec la constante MediaConstants.PlayerState.CLOSED_CAPTION .
iOS (Swift)
let stateObject = Media.createStateObjectWith(stateName: MediaConstants.PlayerState.CLOSED_CAPTION)
tracker.trackPlayerStateStart(info: stateObject)
tracker.trackPlayerStateEnd(info: stateObject)
Android (Kotlin)
val stateObject = Media.createStateObject(MediaConstants.PlayerState.CLOSED_CAPTION)
tracker.trackPlayerStateStart(stateObject)
tracker.trackPlayerStateEnd(stateObject)
Roku (BrightScript)
Utilisez sendMediaEvent pour envoyer un événement media.statesUpdate avec l’état ajouté à statesStart :
m.aepSdk.sendMediaEvent({
"xdm": {
"eventType": "media.statesUpdate",
"mediaCollection": {
"statesStart": [{ "name": "closedCaptioning" }],
"playhead": 60
}
}
})
Lorsque la visionneuse désactive les sous-titres, envoyez un autre événement dont le statut est en statesEnd :
m.aepSdk.sendMediaEvent({
"xdm": {
"eventType": "media.statesUpdate",
"mediaCollection": {
"statesEnd": [{ "name": "closedCaptioning" }],
"playhead": 90
}
}
})
API Media Edge
Appelez le point d’entrée statesUpdate avec des closedCaptioning en statesStart (ou statesEnd lorsque la visionneuse désactive les sous-titres) :
{
"events": [{
"xdm": {
"eventType": "media.statesUpdate",
"mediaCollection": {
"statesStart": [{ "name": "closedCaptioning" }],
"sessionID": "{sid}",
"playhead": 60
}
}
}]
}
SDK Media
Utilisez ADB.Media.createStateObject et la constante ADB.Media.PlayerState.ClosedCaptioning :
var stateObject = ADB.Media.createStateObject(ADB.Media.PlayerState.ClosedCaptioning);
tracker.trackPlayerStateStart(stateObject);
tracker.trackPlayerStateEnd(stateObject);
API Media Collection
Envoyez une requête POST stateStart lorsque les légendes sont activées et une requête POST stateEnd lorsqu’elles sont désactivées :
{
"playerTime": { "playhead": 60, "ts": 1699523820000 },
"eventType": "stateStart",
"params": {
"media.state.name": "closedCaptioning"
}
}
Consultez la référence des événements de l’API Media Collection pour obtenir la structure complète des requêtes.