ビットレートの変更

このページでは、ビットレート変更イベントの実装方法について説明します。 対応するレポート変数については、​ ビットレート変更 (ディメンション) ​および​ ビットレート変更 (指標) ​を参照してください。

ビットレート変更イベントは、プレーヤーが別のビットレートに切り替えたことを示します。 最初にQoE オブジェクトの​ ビットレート ​値を更新してから、ビットレート変更イベントを実行します。 バックエンドでは、これらのイベントのカウントを使用して、​ ビットレート変更 ディメンションと​ ビットレート変更指標を計算し、結果のビットレート値は平均ビットレート ​を入力します。

プロパティ
コンテキストデータ変数
(なし – バックエンドでカウント)
XDM イベントタイプ
media.bitrateChange
Audience Manager特性
c_contextdata.a.media.qoe.bitrateChangeCount
必須
いいえ
様が​様と共に送信されました
​ ビットレート変更

推奨される実装タイプ

Web SDK

sendEventを使用して、新しいビットレートでmedia.bitrateChange イベントを送信します。

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

新しいビットレートでQoE オブジェクトを更新し、ビットレート変更イベントを実行します。

code language-swift
let qoeObject = Media.createQoEObjectWith(bitrate: 4500,
                                       startupTime: 0,
                                               fps: 24,
                                     droppedFrames: 0)
tracker.updateQoEObject(qoe: qoeObject)
tracker.trackEvent(event: MediaEvent.BitrateChange, info: nil, metadata: nil)
Android

新しいビットレートでQoE オブジェクトを更新し、ビットレート変更イベントを実行します。

code language-kotlin
val qoeObject = Media.createQoEObject(4500L, 0.0, 24.0, 0L)
tracker.updateQoEObject(qoeObject)
tracker.trackEvent(Media.Event.BitrateChange, null, null)
Roku

sendMediaEventmedia.bitrateChangeを使用して、ビットレートの変更を通知します。 qoeDataDetailsに新しいビットレートを含めます:

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

更新されたqoeDataDetailsbitrateChange エンドポイントを呼び出します。

code language-json
{
  "events": [{
    "xdm": {
      "eventType": "media.bitrateChange",
      "mediaCollection": {
        "qoeDataDetails": {
          "bitrate": 4500
        },
        "sessionID": "{sid}",
        "playhead": 120
      }
    }
  }]
}

従来の実装タイプ (Analyticsのみ)

Media SDK JS 3.x

QoE オブジェクトを更新し、イベントを実行します。

code language-javascript
var qoeObject = ADB.Media.createQoEObject(4500, 0, 24, 0);
tracker.updateQoEObject(qoeObject);
tracker.trackEvent(ADB.Media.Event.BitrateChange);
Chromecast

QoS オブジェクトを新しいビットレートで更新し、ビットレート変更イベントを実行します。

code language-javascript
var qosInfo = ADBMobile.media.createQoSObject(
  4500,  // bitrate (kbps)
  0,     // startupTime
  24,    // fps
  0      // droppedFrames
);
ADBMobile.media.updateQoSObject(qosInfo);
ADBMobile.media.trackEvent(ADBMobile.media.Event.BitrateChange);
Media Collection API

新しいビットレートでbitrateChange POST リクエストを送信します。

code language-json
{
  "playerTime": { "playhead": 120, "ts": 1699523820000 },
  "eventType": "bitrateChange",
  "params": {
    "media.qoe.bitrate": 4500
  }
}

完全なリクエスト構造については、Media Collection API イベントのリファレンス ​を参照してください。

recommendation-more-help
media-analytics-help