Inicio del estado

El evento de inicio de estado indica que el reproductor de contenido ha entrado en un estado rastreado, como pantalla completa, silencio o subtítulos. Un reproductor puede estar en varios estados simultáneamente, y los estados pueden iniciarse y finalizarse en la misma llamada de evento. Cierre cada estado con un evento State end.

Nombres de estado válidos: fullscreen, mute, closedCaptioning, pictureInPicture, inFocus

Tipos de implementación recomendados

SDK web

Llamar a sendEvent con eventType: "media.statesUpdate" y el nombre de estado en statesStart:

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

Se pueden iniciar varios estados en la misma llamada:

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

Use trackPlayerStateStart con un objeto de estado creado a partir de la constante MediaConstants.PlayerState apropiada.

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

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

Use trackPlayerStateStart con un objeto de estado creado a partir de la constante MediaConstants.PlayerState apropiada.

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

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

Llamar a sendMediaEvent con eventType: "media.statesUpdate" y el nombre de estado en statesStart:

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

Llame al extremo statesUpdate con el nombre de estado 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"
    }
  }]
}'

Tipos de implementación heredados (solo Analytics)

Media SDK JS 3.x

Use ADB.Media.createStateObject con la constante ADB.Media.PlayerState adecuada:

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

tracker.trackPlayerStateStart(stateObject);
Chromecast

Use ADBMobile.media.createStateObject con la constante ADBMobile.media.PlayerState adecuada:

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

ADBMobile.media.trackEvent(ADBMobile.media.Event.StateStart, stateObject);
Roku 2.x
El seguimiento del estado del reproductor no está disponible en SDK Roku 2.x. Para rastrear estados de reproductor, usa Roku Edge SDK.
API de recopilación de medios

Enviar un POST de stateStart al extremo de eventos:

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