內容長度

本頁涵蓋​ 內容長度 ​變數的資料集合。 如需對應的報表維度,請參閱內容長度

內容長度變數是內容的總持續時間(秒數)。 所有串流媒體實施都需要它,並且必須在工作階段開始時設定。 內容長度可驅動數個後端運算量度,包括進度標籤(10/25/50/75/95%)和平均每分鐘觀眾數。 如果未設定內容長度或不大於零,則不會產生這些量度。 對於持續時間不明的即時資料流,請使用86400 (24小時)。

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

建議的實作型別

Web SDK

呼叫sendEvent時,在xdm.mediaCollection.sessionDetails內設定length

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"
      },
      playhead: 0
    }
  }
});
iOS

將內容長度(以秒為單位)作為length引數傳遞給createMediaObject

code language-swift
let mediaObject = Media.createMediaObjectWith(name: "My Video",
                                                id: "video-123",
                                            length: 128,
                                        streamType: MediaConstants.StreamType.VOD,
                                         mediaType: MediaType.Video)

tracker.trackSessionStart(info: mediaObject, metadata: nil)
Android

將內容長度(以秒為單位)作為length引數傳遞給createMediaObject

code language-kotlin
var mediaInfo = Media.createMediaObject("My Video",
                                        "video-123",
                                        128,
                                        MediaConstants.StreamType.VOD,
                                        Media.MediaType.Video)

tracker.trackSessionStart(mediaInfo, null)
Roku

呼叫createMediaSession時在xdm.mediaCollection.sessionDetails內設定length

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

呼叫xdm.mediaCollection.sessionDetails內有lengthsessionStart端點:

code language-json
{
  "events": [{
    "xdm": {
      "eventType": "media.sessionStart",
      "mediaCollection": {
        "sessionDetails": {
          "name": "video-123",
          "length": 128,
          "contentType": "vod",
          "playerName": "HTML5 Player",
          "channel": "Sports"
        },
        "playhead": 0
      }
    }
  }]
}

舊版實作型別(僅限Analytics)

Media SDK JS 3.x

將內容長度(以秒為單位)作為第三個引數傳給ADB.Media.createMediaObject

code language-javascript
var mediaInfo = ADB.Media.createMediaObject(
  "My Video",
  "video-123",
  128,                      // length in seconds
  ADB.Media.StreamType.VOD,
  ADB.Media.MediaType.Video
);

tracker.trackSessionStart(mediaInfo, contextData);
Chromecast

將內容長度(以秒為單位)作為第三個引數傳給ADBMobile.media.createMediaObject

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

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

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

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

recommendation-more-help
media-analytics-help