Untertitel

Auf dieser Seite wird die Datenerfassung für den Player-Status Untertitel​behandelt. Siehe Von geschlossenen Untertiteln betroffene Streams, Geschlossene Untertitelanzahl und Geschlossene Untertitelgesamtdauer für die entsprechenden Berichtsmetriken.

Der Player-Status für Untertitel verfolgt, wann der Viewer Untertitel aktiviert und deaktiviert. Löst ein Statusstartereignis aus, wenn Beschriftungen aktiviert sind, und ein Statusendeereignis, wenn Beschriftungen deaktiviert sind. Das Backend berechnet drei Metriken aus diesen Ereignissen: betroffene Streams, Anzahl der Statuseinträge und Gesamtzeit im Status.

Eigenschaft
Wert
Kontextdatenvariablen
a.media.states.closedcaptioning.set, a.media.states.closedcaptioning.count, a.media.states.closedcaptioning.time
XDM-Sammlungsfeld
xdm.mediaCollection.statesStart[] und xdm.mediaCollection.statesEnd[] (Einträge mit name: "closedCaptioning")
Audience Manager-Eigenschaften
c_contextdata.a.media.states.closedcaptioning.set, c_contextdata.a.media.states.closedcaptioning.count, c_contextdata.a.media.states.closedcaptioning.time
Erforderlich
Nein
Gesendet mit
State start, state end

Empfohlene Implementierungsarten

Web SDK

Verwenden Sie sendEvent , um ein media.statesUpdate-Ereignis mit dem Status zu senden, der statesStart hinzugefügt wurde:

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

Wenn der Viewer Untertitel deaktiviert, senden Sie ein weiteres Ereignis mit dem Status in statesEnd:

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

Verwenden Sie tracker.trackPlayerStateStart() und tracker.trackPlayerStateEnd() mit der 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

Verwenden Sie tracker.trackPlayerStateStart() und tracker.trackPlayerStateEnd() mit der MediaConstants.PlayerState.CLOSED_CAPTION.

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

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

Verwenden Sie sendMediaEvent , um ein media.statesUpdate-Ereignis mit dem Status zu senden, der statesStart hinzugefügt wurde:

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

Wenn der Viewer Untertitel deaktiviert, senden Sie ein weiteres Ereignis mit dem Status in statesEnd:

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

Rufen Sie den statesUpdate-Endpunkt mit closedCaptioning in statesStart auf (oder statesEnd, wenn der Viewer Untertitel deaktiviert):

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

Legacy-Implementierungstypen (nur Analytics)

Media SDK JS 3.x

Verwenden Sie ADB.Media.createStateObject und die ADB.Media.PlayerState.ClosedCaptioning Konstante:

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

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

Verwenden Sie ADBMobile.media.createStateObject direkt mit der "closedCaptioning" Zeichenfolge, da Chromecast keine benannten PlayerState enthält:

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);
Media Collection API

Senden Sie eine stateStart POST-Anfrage, wenn Beschriftungen aktiviert sind, und einen stateEnd POST, wenn sie deaktiviert sind:

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

Die vollständige Anfragestruktur ​ Sie in der ​ zur Mediensammlungs-API-Ereignisreferenz .

recommendation-more-help
media-analytics-help