Media Collection API 概觀 overview
Media Collection API 是 Adobe 用戶端 Media SDK 的 RESTful 替代方案。透過 Media Collection API,您的播放器可以使用 RESTful HTTP 呼叫追蹤音訊和視訊事件。
Media Collection API 本質上是轉接程式,可做為伺服器端的 Media SDK。這表示 Media SDK 文件某些方面也與 Media Collection API 有關。例如,這兩個解決方案都使用相同的串流媒體引數,而且收集的串流媒體追蹤資料會產生相同的報表和分析。
媒體追蹤資料流程 media-tracking-data-flows
實作 Media Collection API 的媒體播放器會直接向媒體追蹤後端伺服器發出 RESTful API 追蹤呼叫,而實作 Media SDK 的播放器則會向播放器應用程式內的 SDK API 發出追蹤呼叫。透過網路發出呼叫的其中一個效應,就是實作 Media Collection API 的播放器需要處置一些 Media SDK 自動處置的處理工作(詳情請參閱媒體收集實作)。
Media Collection API 擷取的追蹤資料,其傳送和初期處理方式與 Media SDK 播放器擷取的追蹤資料有所不同,不過這兩種解決方案使用的後端處理引擎是一樣的。
API 概觀 api-overview
URI: 請向 Adobe 代表索取。
HTTP 方法: POST,搭配 JSON 要求內文。
API 呼叫 mc-api-calls
-
sessions
- 與伺服器建立工作階段,並傳回後續events
呼叫使用的工作階段 ID。應用程式會在追蹤工作階段開始時呼叫一次。{uri}/api/v1/sessions
-
events
- 傳送媒體追蹤資料。{uri}/api/v1/sessions/{session-id}/events
要求內文 mc-api-request-body
{
"playerTime": {
"playhead": "{playhead position in seconds}",
"ts": "{timestamp in milliseconds}"
},
"eventType": "{event-type}",
"params": {
"{parameter-name}": "{parameter-value}",
"{parameter-name}": "{parameter-value}"
},
"qoeData" : {
"{parameter-name}": "{parameter-value}",
"{parameter-name}": "{parameter-value}"
},
"customMetadata": {
"{parameter-name}": "{parameter-value}",
"{parameter-name}": "{parameter-value}"
}
}
-
playerTime
- 所有要求均強制使用。 -
eventType
- 所有要求均強制使用。 -
params
- 某些eventTypes
強制使用。若要判斷哪些 eventTypes 屬於強制性質,哪些屬於選用性質,請參閱 JSON 驗證結構。 -
qoeData
- 所有要求均可選用。 -
customMetadata
- 所有要求均可選用,不過只能連同sessionStart
、adStart
和chapterStart
事件類型一起傳送。
您可以利用開放使用的 eventType
JSON 驗證結構來驗證每種的參數類型,以及特定事件的參數屬於選用或必要性質。
事件類型 mc-api-event-types
sessionStart
play
ping
pauseStart
bufferStart
adStart
adComplete
adSkip
adBreakStart
adBreakComplete
chapterStart
chapterSkip
chapterComplete
sessionEnd
sessionComplete