Début de l’état

L’événement de début d’état indique que le lecteur multimédia est entré dans un état suivi, tel que plein écran, muet ou sous-titrage. Un lecteur peut se trouver dans plusieurs états simultanément, et les états peuvent être démarrés et terminés dans le même appel d’événement. Fermez chaque état avec un événement State end.

Noms d’état valides : fullscreen, mute, closedCaptioning, pictureInPicture, inFocus

Types d’implémentation recommandés

SDK Web

Appelez sendEvent avec eventType: "media.statesUpdate" et le nom de l’état en statesStart :

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

Plusieurs états peuvent être démarrés dans le même appel :

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

Utilisez trackPlayerStateStart avec un objet d’état créé à partir de la constante de MediaConstants.PlayerState appropriée.

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

tracker.trackEvent(event: MediaEvent.StateStart, info: stateObject, metadata: nil)
Android

Utilisez trackPlayerStateStart avec un objet d’état créé à partir de la constante de MediaConstants.PlayerState appropriée.

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

tracker.trackEvent(Media.Event.StateStart, stateObject, null)
Roku

Appelez sendMediaEvent avec eventType: "media.statesUpdate" et le nom de l’état en statesStart :

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

Appelez le point d’entrée statesUpdate avec le nom d’état en statesStart :

code language-sh
curl -X POST "https://edge.adobedc.net/ee/va/v1/statesUpdate?configId={datastreamID}" \
--header 'Content-Type: application/json' \
--data '{
  "events": [{
    "xdm": {
      "eventType": "media.statesUpdate",
      "mediaCollection": {
        "sessionID": "{sid}",
        "playhead": 60,
        "statesStart": [{ "name": "fullscreen" }]
      },
      "timestamp": "YYYY-08-20T22:41:40+00:00"
    }
  }]
}'

Types d’implémentation hérités (Analytics uniquement)

Media SDK JS 3.x

Utilisez ADB.Media.createStateObject avec la constante de ADB.Media.PlayerState appropriée :

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

tracker.trackPlayerStateStart(stateObject);
Chromecast

Utilisez ADBMobile.media.createStateObject avec la constante de ADBMobile.media.PlayerState appropriée :

code language-javascript
var stateObject = ADBMobile.media.createStateObject(ADBMobile.media.PlayerState.FullScreen);

ADBMobile.media.trackEvent(ADBMobile.media.Event.StateStart, stateObject);
API Media Collection

Envoyez une stateStart POST au point d’entrée événements :

code language-json
{
  "playerTime": { "playhead": 60, "ts": 1699523820000 },
  "eventType": "stateStart",
  "params": {
    "media.state.name": "fullscreen"
  }
}
recommendation-more-help
media-analytics-help