Subtítulos opcionales

Esta página cubre la recopilación de datos del estado del reproductor Subtítulos. Vea Transmisiones afectadas por los subtítulos opcionales, Recuentos de subtítulos opcionales y Duración total de los subtítulos opcionales para las métricas de informes correspondientes.

El estado del reproductor de subtítulos opcionales se registra cuando el visor activa y desactiva los subtítulos. Active un evento de inicio de estado cuando los subtítulos estén habilitados y un evento de fin de estado cuando los subtítulos estén deshabilitados. El servidor calcula tres métricas a partir de estos eventos: flujos afectados, recuento de entradas de estado y tiempo total en el estado.

Propiedad
Valor
Variables de datos de contexto
a.media.states.closedcaptioning.set, a.media.states.closedcaptioning.count, a.media.states.closedcaptioning.time
Campo de colección XDM
xdm.mediaCollection.statesStart[] y xdm.mediaCollection.statesEnd[] (entradas con name: "closedCaptioning")
rasgos de Audience Manager
c_contextdata.a.media.states.closedcaptioning.set, c_contextdata.a.media.states.closedcaptioning.count, c_contextdata.a.media.states.closedcaptioning.time
Requerido
No
Enviado con
Inicio de estado, fin de estado

Tipos de implementación recomendados

SDK web

Use sendEvent para enviar un evento media.statesUpdate con el estado agregado a statesStart:

code language-javascript
alloy("sendEvent", {
  xdm: {
    eventType: "media.statesUpdate",
    mediaCollection: {
      statesStart: [{ name: "closedCaptioning" }],
      sessionID: "{sid}",
      playhead: 60
    }
  }
});

Cuando el visor deshabilite los subtítulos, envíe otro evento con el estado statesEnd:

code language-javascript
alloy("sendEvent", {
  xdm: {
    eventType: "media.statesUpdate",
    mediaCollection: {
      statesEnd: [{ name: "closedCaptioning" }],
      sessionID: "{sid}",
      playhead: 90
    }
  }
});
iOS

Use tracker.trackPlayerStateStart() y tracker.trackPlayerStateEnd() con la constante MediaConstants.PlayerState.CLOSED_CAPTION.

code language-swift
let stateObject = Media.createStateObjectWith(stateName: MediaConstants.PlayerState.CLOSED_CAPTION)

tracker.trackPlayerStateStart(info: stateObject)
tracker.trackPlayerStateEnd(info: stateObject)
Android

Use tracker.trackPlayerStateStart() y tracker.trackPlayerStateEnd() con la constante MediaConstants.PlayerState.CLOSED_CAPTION.

code language-kotlin
val stateObject = Media.createStateObject(MediaConstants.PlayerState.CLOSED_CAPTION)

tracker.trackPlayerStateStart(stateObject)
tracker.trackPlayerStateEnd(stateObject)
Roku

Use sendMediaEvent para enviar un evento media.statesUpdate con el estado agregado a statesStart:

code language-brightscript
m.aepSdk.sendMediaEvent({
    "xdm": {
        "eventType": "media.statesUpdate",
        "mediaCollection": {
            "statesStart": [{ "name": "closedCaptioning" }],
            "playhead": 60
        }
    }
})

Cuando el visor deshabilite los subtítulos, envíe otro evento con el estado statesEnd:

code language-brightscript
m.aepSdk.sendMediaEvent({
    "xdm": {
        "eventType": "media.statesUpdate",
        "mediaCollection": {
            "statesEnd": [{ "name": "closedCaptioning" }],
            "playhead": 90
        }
    }
})
API de Media Edge

Llame al extremo statesUpdate con closedCaptioning en statesStart (o statesEnd cuando el visor deshabilite los subtítulos):

code language-json
{
  "events": [{
    "xdm": {
      "eventType": "media.statesUpdate",
      "mediaCollection": {
        "statesStart": [{ "name": "closedCaptioning" }],
        "sessionID": "{sid}",
        "playhead": 60
      }
    }
  }]
}

Tipos de implementación heredados (solo Analytics)

Media SDK JS 3.x

Use ADB.Media.createStateObject y la constante ADB.Media.PlayerState.ClosedCaptioning:

code language-javascript
var stateObject = ADB.Media.createStateObject(ADB.Media.PlayerState.ClosedCaptioning);

tracker.trackPlayerStateStart(stateObject);
tracker.trackPlayerStateEnd(stateObject);
Chromecast

Utilice ADBMobile.media.createStateObject con la cadena "closedCaptioning" directamente, ya que Chromecast no tiene constantes PlayerState con nombre:

code language-javascript
var stateObject = ADBMobile.media.createStateObject("closedCaptioning");
ADBMobile.media.trackEvent(ADBMobile.media.Event.StateStart, stateObject);
// When the viewer disables captions:
ADBMobile.media.trackEvent(ADBMobile.media.Event.StateEnd, stateObject);
API de recopilación de medios

Envíe una solicitud POST de stateStart cuando los subtítulos estén habilitados y una POST de stateEnd cuando estén deshabilitados:

code language-json
{
  "playerTime": { "playhead": 60, "ts": 1699523820000 },
  "eventType": "stateStart",
  "params": {
    "media.state.name": "closedCaptioning"
  }
}

Consulte la referencia de eventos de API de Media Collection para obtener la estructura de solicitudes completa.

recommendation-more-help
media-analytics-help