媒体收集 API 概述

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

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

媒体跟踪数据流

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

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

API 概述

URI:​从您的 Adobe 代表处获取此信息。

HTTP 方法: POST,包含 JSON 请求正文。

API 调用

  • sessions 与服务器建立会话,并返回在后续 events 调用中使用的会话 ID。应用程序会在跟踪会话开始时调用一次。

    {uri}/api/v1/sessions

  • events 发送媒体跟踪数据。

    {uri}/api/v1/sessions/{session-id}/events

请求正文

{
    "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 验证架构,您应该使用它来验证参数类型,以及参数是特定事件的可选参数还是必选参数。

事件类型

  • sessionStart
  • play
  • ping
  • pauseStart
  • bufferStart
  • adStart
  • adComplete
  • adSkip
  • adBreakStart
  • adBreakComplete
  • chapterStart
  • chapterSkip
  • chapterComplete
  • sessionEnd
  • sessionComplete

在此页面上