全螢幕

此頁面涵蓋​ 全熒幕 ​播放器狀態的資料集合。 檢視對應報表量度受全熒幕影響的資料流全熒幕計數全熒幕總持續時間

全熒幕播放器狀態會追蹤檢視器何時進入和退出全熒幕播放。 每當檢視器進入全熒幕時引發狀態開始事件,並在檢視器退出時引發狀態結束事件。 後端會從這些事件計算三個量度:受影響的資料流、狀態專案計數和狀態總時間。

屬性
價值
內容資料變數
a.media.states.fullscreen.set, a.media.states.fullscreen.count, a.media.states.fullscreen.time
XDM集合欄位
xdm.mediaCollection.statesStart[]xdm.mediaCollection.statesEnd[] (含有name: "fullscreen"的專案)
Audience Manager特徵
c_contextdata.a.media.states.fullscreen.set, c_contextdata.a.media.states.fullscreen.count, c_contextdata.a.media.states.fullscreen.time
必要
​一起傳送
狀態開始狀態結束

建議的實作型別

Web SDK

使用sendEvent傳送狀態已新增至statesStartmedia.statesUpdate事件:

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

當檢視器退出全熒幕時,傳送另一個狀態為statesEnd的事件:

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

tracker.trackPlayerStateStart()tracker.trackPlayerStateEnd()MediaConstants.PlayerState.FULLSCREEN常數搭配使用。

code language-swift
let stateObject = Media.createStateObjectWith(stateName: MediaConstants.PlayerState.FULLSCREEN)

tracker.trackPlayerStateStart(info: stateObject)
// ...later, when the user exits full-screen:
tracker.trackPlayerStateEnd(info: stateObject)
Android

tracker.trackPlayerStateStart()tracker.trackPlayerStateEnd()MediaConstants.PlayerState.FULLSCREEN常數搭配使用。

code language-kotlin
val stateObject = Media.createStateObject(MediaConstants.PlayerState.FULLSCREEN)

tracker.trackPlayerStateStart(stateObject)
// ...later, when the user exits full-screen:
tracker.trackPlayerStateEnd(stateObject)
Roku

使用sendMediaEvent傳送狀態已新增至statesStartmedia.statesUpdate事件:

code language-brightscript
m.aepSdk.sendMediaEvent({
    "xdm": {
        "eventType": "media.statesUpdate",
        "mediaCollection": {
            "statesStart": [{ "name": "fullscreen" }],
            "playhead": 60
        }
    }
})

當檢視器退出全熒幕時,傳送另一個狀態為statesEnd的事件:

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

呼叫statesUpdate端點,其中statesStart中有fullscreen (或在檢視器退出時有statesEnd):

code language-json
{
  "events": [{
    "xdm": {
      "eventType": "media.statesUpdate",
      "mediaCollection": {
        "statesStart": [{ "name": "fullscreen" }],
        "sessionID": "{sid}",
        "playhead": 60
      }
    }
  }]
}

舊版實作型別(僅限Analytics)

Media SDK JS 3.x

使用ADB.Media.createStateObjectADB.Media.PlayerState.FullScreen常數:

code language-javascript
var stateObject = ADB.Media.createStateObject(ADB.Media.PlayerState.FullScreen);

tracker.trackPlayerStateStart(stateObject);
// ...later, when the user exits full-screen:
tracker.trackPlayerStateEnd(stateObject);
Chromecast

直接將ADBMobile.media.createStateObject"fullscreen"字串搭配使用,因為Chromecast尚未命名PlayerState常數:

code language-javascript
var stateObject = ADBMobile.media.createStateObject("fullscreen");
ADBMobile.media.trackEvent(ADBMobile.media.Event.StateStart, stateObject);
// When the user exits full-screen:
ADBMobile.media.trackEvent(ADBMobile.media.Event.StateEnd, stateObject);
媒體收集API

當檢視者進入全熒幕時傳送stateStart個POST要求,而當檢視者退出時傳送stateEnd個POST:

code language-json
{
  "playerTime": { "playhead": 60, "ts": 1699523820000 },
  "eventType": "stateStart",
  "params": {
    "media.state.name": "fullscreen"
  }
}
code language-json
{
  "playerTime": { "playhead": 90, "ts": 1699523850000 },
  "eventType": "stateEnd",
  "params": {
    "media.state.name": "fullscreen"
  }
}

如需完整的要求結構,請參閱媒體收集API事件參考

recommendation-more-help
media-analytics-help