媒体收集 API 概述 overview

媒体收集 API 是 Adobe 的客户端 Media SDK 的 RESTful 替代方法。借助媒体收集 API,您的播放器可以使用 RESTful HTTP 调用来跟踪音频和视频事件。

媒体收集 API 本质上是一个适配器,可充当 Media SDK 的服务器端版本。这意味着,Media SDK 文档的某些方面也与媒体收集 API 相关。例如,两个解决方案使用了相同的流媒体参数,并且收集的流媒体跟踪数据最终获得相同的报表和分析

媒体跟踪数据流 media-tracking-data-flows

实施媒体收集 API 的媒体播放器会直接对媒体跟踪后端服务器进行 RESTful API 跟踪调用,而实施 Media SDK 的播放器会对播放器应用程序内的 SDK API 进行跟踪调用。通过 Web 进行调用的一个效果是,实施媒体收集 API 的播放器需要处理 Media SDK 自动处理的一些进程。(媒体收集实施中的详细信息。)

与在 Media SDK 播放器中捕获的跟踪数据相比,虽然使用媒体收集 API 捕获的跟踪数据采用不同的方式进行发送和初始处理,但这两个解决方案在后端使用相同的处理引擎。

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 而言,它是必选项;请检查 JSON 验证架构以确定哪些 eventTypes 是必选的,哪些是可选的。

  • qoeData — 对于所有请求而言,它是可选项。

  • customMetadata — 对于所有请求而言,它是可选项,但只通过 sessionStartadStartchapterStart 事件类型发送。

对于每个 eventType,都有一个公开可用的 JSON 验证架构,您应该使用它来验证参数类型,以及参数是特定事件的可选参数还是必选参数。

事件类型 mc-api-event-types

  • sessionStart
  • play
  • ping
  • pauseStart
  • bufferStart
  • adStart
  • adComplete
  • adSkip
  • adBreakStart
  • adBreakComplete
  • chapterStart
  • chapterSkip
  • chapterComplete
  • sessionEnd
  • sessionComplete
recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb