Modifica bitrate

L’evento di modifica del bitrate segnala che il lettore ha negoziato un nuovo bitrate di riproduzione. Invia ogni volta che il bitrate cambia durante la riproduzione. Includere il nuovo valore bitrate nei dati QoE in modo che il backend possa calcolare Average bitrate e la dimensione bucket per bitrate.

Tipi di implementazione consigliati

Web SDK

Chiama sendEvent con eventType: "media.bitrateChange" e il nuovo bitrate in qoeDataDetails:

code language-javascript
alloy("sendEvent", {
  xdm: {
    eventType: "media.bitrateChange",
    mediaCollection: {
      qoeDataDetails: {
        bitrate: 3200,
        droppedFrames: 0,
        framesPerSecond: 24,
        timeToStart: 0
      },
      sessionID: "{sid}",
      playhead: 90
    }
  }
});
iOS

Crea un oggetto QoE con il nuovo bitrate e aggiorna il tracciatore prima che venga attivato l’evento di modifica del bitrate.

code language-swift
let qoeObject = Media.createQoEObjectWith(bitrate: 3200,
                                       startupTime: 0,
                                               fps: 24,
                                     droppedFrames: 0)

tracker.updateQoEObject(qoe: qoeObject)
tracker.trackEvent(event: MediaEvent.BitrateChange, info: nil, metadata: nil)
Android

Crea un oggetto QoE con il nuovo bitrate e aggiorna il tracciatore prima che venga attivato l’evento di modifica del bitrate.

code language-kotlin
val qoeObject = Media.createQoEObject(3200, 0, 24, 0)

tracker.updateQoEObject(qoeObject)
tracker.trackEvent(Media.Event.BitrateChange, null, null)
Roku

Chiamare sendMediaEvent con eventType: "media.bitrateChange" e il nuovo bitrate in qoeDataDetails:

code language-brightscript
m.aepSdk.sendMediaEvent({
    "xdm": {
        "eventType": "media.bitrateChange",
        "mediaCollection": {
            "qoeDataDetails": {
                "bitrate": 3200,
                "droppedFrames": 0,
                "framesPerSecond": 24,
                "timeToStart": 0
            },
            "playhead": 90
        }
    }
})
API Media Edge

Chiama l’endpoint bitrateChange con il nuovo bitrate in qoeDataDetails:

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

Tipi di implementazione legacy (solo Analytics)

Media SDK JS 3.x

Crea un oggetto QoE con il nuovo bitrate e aggiorna il tracciatore:

code language-javascript
var qoeObject = ADB.Media.createQoEObject(
  3200,  // bitrate (kbps)
  0,     // startup time (ms)
  24,    // fps
  0      // dropped frames
);

tracker.updateQoEObject(qoeObject);
tracker.trackEvent(ADB.Media.Event.BitrateChange);
Chromecast

Aggiorna l’oggetto QoS restituito dal delegato getQoSObject, quindi tieni traccia dell’evento:

code language-javascript
// Update QoS data via the delegate
this._qosInfo = ADBMobile.media.createQoSObject(
  3200,  // bitrate (kbps)
  0,     // dropped frames
  24,    // fps
  0      // startup time
);

ADBMobile.media.trackEvent(ADBMobile.media.Event.BitrateChange);
API Media Collection

Invia un POST bitrateChange all’endpoint events con il nuovo bitrate in qoeData:

code language-json
{
  "playerTime": { "playhead": 90, "ts": 1699523820000 },
  "eventType": "bitrateChange",
  "qoeData": {
    "media.qoe.bitrate": 3200
  }
}
recommendation-more-help
media-analytics-help