多个播放器状态跟踪
有时两个播放器状态同时开始和结束,或者一个状态的结束也是另一个状态的开始,如下图所示:
当前实施允许这两种场景:
stateStart(pictureInPicture)
- t0stateStart(mute)
- t0stateEnd(mute)
- t1stateEnd(pictureInPicture)
- t1stateStart(fullScreen)
- t1stateEnd(fullScreen)
- t2
但是,这需要您发出多个 stateStart
和 stateEnd
事件来表示多个同步状态更改。为了优化此常见行为,已实施一个新的 statesUpdate
事件类型,该类型以一组状态结束,并以一组新状态开始。
利用新的 statesUpdate
事件,上面的一组事件将变为:
statesUpdate(statesEnd=[], statesStart=[pictureInPicture, mute])
- t0statesUpdate(statesEnd=[mute, pictureInPicture], statesStart=[fullScreen])
- t1statesUpdate(statesEnd=[fullScreen], statesStart=[])
- t2
对于同一行为,状态更新调用的次数已从六次减至三次。最后一个事件也可能是一个简单的 stateEnd(fullScreen)
。
媒体收集 API 实施 mpst-api
您可以使用媒体收集 API 实施多个播放器状态跟踪。
示例
下面显示了用于多个播放器状态跟踪的媒体收集 API 实施示例。
// statesUpdate (ex: mute and pictureInPicture are switched on)
http(s)://<Analytics_Visitor_Namespace>.hb-api.omtrdc.net/api/v1/sessions/<SID>/events
{
"eventType": "statesUpdate",
"params": {
"statesStart": [
{
"media.state.name": "mute"
},
{
"media.state.name": "pictureInPicture"
}
]
},
"playerTime": {
"playhead": 0,
"ts": 1569999130627
}
}
// statesUpdate (ex: mute and pictureInPicture are switched off, fullScreen is switched on)
http(s)://<Analytics_Visitor_Namespace>.hb-api.omtrdc.net/api/v1/sessions/<SID>/events
{
"eventType": "statesUpdate",
"params": {
"statesEnd": [
{
"media.state.name": "mute"
},
{
"media.state.name": "pictureInPicture"
}
],
"statesStart": [
{
"media.state.name": "fullScreen"
}
]
},
"playerTime": {
"playhead": 0,
"ts": 1569999130627
}
}
// statesUpdate (ex: fullScreen is switched off)
http(s)://<Analytics_Visitor_Namespace>.hb-api.omtrdc.net/api/v1/sessions/<SID>/events
{
"eventType": "statesUpdate",
"params": {
"statesEnd": [
{
"media.state.name": "fullScreen"
}
]
},
"playerTime": {
"playhead": 0,
"ts": 1569999130627
}
}
Media SDK 实施
没有 Media SDK 实施。
recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb