Adobe Medium Analytics for Audio and Video扩展概述
使用本文档了解有关安装、配置和实施 Adobe Media Analytics for Audio and Video 扩展(Media Analytics 扩展)的信息。其中包括使用此扩展构建规则时可用的选项,以及一些示例和指向示例的链接。
Media Analytics (MA) 扩展添加了核心 JavaScript Media SDK (Media 2.x SDK)。此扩展提供了将MediaHeartbeat
跟踪器实例添加到标记网站或项目的功能。 MA 扩展需要使用其他两个扩展:
在标记项目中包含上述所有三个扩展后,可以采用以下两种方法之一继续操作:
- 使用您的 Web 应用程序中的
MediaHeartbeat
API - 包含或构建特定于播放器的扩展,以便将特定媒体播放器事件映射到
MediaHeartbeat
跟踪器实例上的 API。此实例将通过 MA 扩展公开。
安装和配置 MA 扩展
-
安装 — 要安装MA扩展,请打开您的扩展属性,选择 Extensions > Catalog,将鼠标悬停在 Adobe Medium Analytics for Audio and Video 扩展上,然后选择 安装。
-
配置 — 要配置MA扩展,请打开扩展选项卡,将鼠标悬停在该扩展上,然后选择 配置:
配置选项:
window
对象下用于导出 Media Analytics API 的变量提醒: MA 扩展要求使用 Analytics 和 Experience Cloud ID 扩展。您还必须将这些扩展添加到您的扩展资产并对其进行配置。
使用 MA 扩展
通过网页/JS 应用程序使用
MA扩展通过启用配置页面中的“Export APIs to Window Object”设置,在全局窗口对象中导出MediaHeartbeat API。 它将在配置的变量名称下导出 API。例如,如果变量名称配置为 ADB
,则 window.ADB.MediaHeartbeat
可以访问 MediaHeartbeat。
window["CONFIGURED_VARIABLE_NAME"]
未定义时才导出 API,并且不会覆盖现有变量。-
创建 MediaHeartbeat 实例:
window["CONFIGURED_VARIABLE_NAME"].MediaHeartbeat.getInstance
参数: 公开这些函数的有效委托对象。
table 0-row-2 1-row-2 2-row-2 1-align-left 2-align-left 4-align-left 5-align-left 7-align-left 8-align-left 方法 描述 getQoSObject()
返回包含当前 QoS 信息的 theMediaObject
实例。在播放会话期间,此方法将被调用多次。播放器实施必须始终返回最新的可用QoS数据。getCurrentPlaybackTime()
返回播放头的当前位置。对于 VOD 跟踪,该值以秒为单位,从媒体项目的开头起计算。对于 LIVE/LIVE 跟踪,该值以秒为单位,从计划的开头起计算。 返回值: 使用
MediaHeartbeat
实例解析或使用错误消息拒绝的承诺。 -
访问 MediaHeartbeat 常量:
window["CONFIGURED_VARIABLE_NAME"].MediaHeartbeat
这会公开
MediaHeartbeat
类中的所有常量和静态方法。您可在此处获得示例播放器:MA 示例播放器。示例播放器作为参考,展示了如何使用 MA 扩展直接从 Web 应用程序支持 Media Analytics。
-
按如下方式创建 MediaHeartbeat 跟踪器实例:
code language-javascript var MediaHeartbeat = window["CONFIGURED_VARIABLE_NAME"].MediaHeartbeat; var delegate = { getCurrentPlaybackTime: this._getCurrentPlaybackTime.bind(this), getQoSObject: this._getQoSObject.bind(this), }; var config = { playerName: "Custom Player", ovp: "Custom OVP", channel: "Custom Channel" }; var self = this; MediaHeartbeat.getInstance(delegate, config).then(function(instance) { self._mediaHeartbeat = instance; // Do Tracking using the MediaHeartbeat instance. }).catch(function(err){ // Getting MediaHeartbeat instance failed. });
通过其他扩展使用
MA 扩展会将 get-instance
和 media-heartbeat
共享模块公开给其他扩展。(有关共享模块的其他信息,请参阅共享模块文档。)
turbine
(请参阅下面的代码示例)。-
创建 MediaHeartbeat 实例:
get-instance
共享模块参数:
-
公开这些函数的有效委托对象。
table 0-row-2 1-row-2 2-row-2 1-align-left 2-align-left 4-align-left 5-align-left 7-align-left 8-align-left 方法 描述 getQoSObject()
返回包含当前 QoS 信息的 MediaObject
实例。在播放会话期间,此方法将被调用多次。播放器实施必须始终返回最新的可用 QoS 数据。getCurrentPlaybackTime()
返回播放头的当前位置。对于 VOD 跟踪,该值以秒为单位,从媒体项目的开头起计算。对于 LIVE/LIVE 跟踪,该值以秒为单位,从计划的开头起计算。 -
公开这些属性的可选配置对象:
table 0-row-3 1-row-3 2-row-3 3-row-3 1-align-left 2-align-left 3-align-left 5-align-left 6-align-left 7-align-left 9-align-left 10-align-left 11-align-left 13-align-left 14-align-left 15-align-left 属性 描述 必需 Online Video Provider 用于分发内容的在线视频平台的名称。 否。如果存在,则覆盖扩展配置期间定义的值。 Player Name 正在使用的媒体播放器的名称(例如“AVPlayer”、“HTML5 播放器”、“我的自定义视频播放器”) 否。如果存在,则覆盖扩展配置期间定义的值。 Channel 渠道名称属性 否。如果存在,则覆盖扩展配置期间定义的值。
返回值: 使用
MediaHeartbeat
实例解析或使用错误消息拒绝的承诺。 -
-
访问 MediaHeartbeat 常量:
media-heartbeat
共享模快此模块会公开以下类中的所有常量和静态方法:https://adobe-marketing-cloud.github.io/media-sdks/reference/javascript/MediaHeartbeat.html。
-
按如下方式创建 MediaHeartbeat 跟踪器实例:
code language-javascript var getMediaHeartbeatInstance = turbine.getSharedModule('adobe-video-analytics', 'get-instance'); var MediaHeartbeat = turbine.getSharedModule('adobe-video-analytics', 'media-heartbeat'); ... var delegate = { getCurrentPlaybackTime: this._getCurrentPlaybackTime.bind(this), getQoSObject: this._getQoSObject.bind(this), } var config = { playerName: "Custom Player", ovp: "Custom OVP", channel: "Custom Channel" } ... var self = this; getMediaHeartbeatInstance(delegate, config).then(function(instance) { self._mediaHeartbeat = instance; ... // Do Tracking using the MediaHeartbeat instance. }).catch(function(err){ // Getting MediaHeartbeat instance failed. }); ...
-
使用媒体心率实例,按照媒体 SDK JS 文档和 JS API 文档中的说明,实施媒体跟踪。