媒體已下載的旗標

本頁涵蓋​ 媒體下載旗標 ​變數的資料集合。 檢視對應報表維度的下載的媒體

「媒體已下載」標幟指出工作階段是播放先前下載的離線內容,而非來自網際網路的即時資料流。 初始化追蹤器(行動SDK)時設定它,或將其納入sessionStart裝載(Edge /媒體收集API)。 使用此標幟在報告中將離線播放與串流工作階段分開。

屬性
價值
內容資料變數
a.media.downloaded
XDM集合欄位
xdm.mediaCollection.sessionDetails.isDownloaded
Audience Manager特徵
c_contextdata.a.media.downloaded
必要
​一起傳送
工作階段開始,工作階段關閉

建議的實作型別

Web SDK

呼叫sendEvent時,在xdm.mediaCollection.sessionDetails內將isDownloaded設為true

code language-javascript
alloy("sendEvent", {
  xdm: {
    eventType: "media.sessionStart",
    mediaCollection: {
      sessionDetails: {
        name: "video-123",
        length: 128,
        contentType: "vod",
        playerName: "HTML5 Player",
        channel: "Sports",
        streamType: "video",
        isDownloaded: true
      },
      playhead: 0
    }
  }
});
iOS

使用MediaConstants.TrackerConfig.DOWNLOADED_CONTENT建立追蹤器時,在追蹤器設定上設定下載內容標幟。

code language-swift
var config: [String: Any] = [:]
config[MediaConstants.TrackerConfig.PLAYER_NAME] = "HTML5 Player"
config[MediaConstants.TrackerConfig.CHANNEL] = "Sports"
config[MediaConstants.TrackerConfig.DOWNLOADED_CONTENT] = true

Media.createTrackerWith(config: config) { tracker in
    self.tracker = tracker
}
Android

使用MediaConstants.TrackerConfig.DOWNLOADED_CONTENT建立追蹤器時,在追蹤器設定上設定下載內容標幟。

code language-kotlin
val config = HashMap<String, Any>()
config[MediaConstants.TrackerConfig.PLAYER_NAME] = "HTML5 Player"
config[MediaConstants.TrackerConfig.CHANNEL] = "Sports"
config[MediaConstants.TrackerConfig.DOWNLOADED_CONTENT] = true

val tracker = Media.createTracker(config)
Roku

呼叫createMediaSession時在xdm.mediaCollection.sessionDetails內將isDownloaded設為true

code language-brightscript
m.aepSdk.createMediaSession({
    "xdm": {
        "eventType": "media.sessionStart",
        "mediaCollection": {
            "sessionDetails": {
                "name": "video-123",
                "length": 128,
                "contentType": "vod",
                "playerName": "Roku Player",
                "channel": "Sports",
                "streamType": "video",
                "isDownloaded": true
            },
            "playhead": 0
        }
    }
})
Media Edge API

在裝置返回上線後,呼叫已下載端點,在mediaDownloadedEvents內批次處理完整的離線工作階段。 Adobe會自動將isDownloaded設定為true並指派工作階段ID;請勿在承載中包含任一工作階段。

code language-json
{
  "events": [{
    "xdm": {
      "eventType": "media.downloaded",
      "mediaDownloadedEvents": [
        {
          "mediaEventTimestamp": "YYYY-09-26T15:52:24+00:00",
          "mediaEventType": "media.sessionStart",
          "mediaCollection": {
            "sessionDetails": {
              "name": "video-123",
              "length": 128,
              "contentType": "vod",
              "playerName": "HTML5 Player",
              "channel": "Sports"
            },
            "playhead": 0
          }
        },
        {
          "mediaEventTimestamp": "YYYY-09-26T15:54:32+00:00",
          "mediaEventType": "media.sessionComplete",
          "mediaCollection": {
            "playhead": 128
          }
        }
      ]
    }
  }]
}

舊版實作型別(僅限Analytics)

Media SDK JS 3.x

建立追蹤器之前,先在ADB.MediaConfig上設定downloadedContent

code language-javascript
var mediaConfig = new ADB.MediaConfig();
mediaConfig.trackingServer = "your.tracking.server";
mediaConfig.playerName = "HTML5 Player";
mediaConfig.channel = "Sports";
mediaConfig.downloadedContent = true;

var tracker = ADB.Media.getInstance(mediaConfig);
Chromecast

呼叫trackSessionStart之前,在媒體資訊物件上設定MediaDownloaded

code language-javascript
var mediaInfo = ADBMobile.media.createMediaObject("My Video", "video-123", 128,
  ADBMobile.media.StreamType.VOD, ADBMobile.media.MediaType.Video);
mediaInfo[ADBMobile.media.MediaObjectKey.MediaDownloaded] = true;
ADBMobile.media.trackSessionStart(mediaInfo, null);
媒體收集API

sessionStart POST要求的params物件中包含media.downloaded

code language-json
{
  "playerTime": { "playhead": 0, "ts": 1699523820000 },
  "eventType": "sessionStart",
  "params": {
    "media.downloaded": true
  }
}

如需完整的要求結構,請參閱媒體收集API工作階段參考

recommendation-more-help
media-analytics-help