Fin de estado

El evento de finalización de estado indica que el reproductor de contenido ha salido de un estado rastreado, como pantalla completa, silencio o subtítulos. Enviarlo para cerrar un estado abierto por Inicio de estado. Los estados se pueden iniciar y finalizar en la misma llamada de evento. Un reproductor puede salir de varios estados simultáneamente.

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 statesEnd:

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

Los estados se pueden iniciar y finalizar en la misma llamada:

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

Use trackPlayerStateEnd 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.StateEnd, info: stateObject, metadata: nil)
Android

Use trackPlayerStateEnd 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.StateEnd, stateObject, null)
Roku Edge

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

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

Llame al extremo statesUpdate con el nombre de estado en statesEnd:

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": 90,
        "statesEnd": [{ "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.trackPlayerStateEnd(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.StateEnd, 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 stateEnd al extremo de eventos:

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