使用本文档了解有关安装、配置和实施 Adobe Media Analytics for Audio and Video 扩展(Media Analytics 扩展)的信息。其中包括使用此扩展构建规则时可用的选项,以及一些示例和指向示例的链接。
Media Analytics (MA) 扩展添加了核心 JavaScript Media SDK (Media 2.x SDK)。此扩展提供了将 MediaHeartbeat
跟踪器实例添加到 Adobe Experience Platform Launch 网站或项目的功能。MA 扩展需要使用其他两个扩展:
音频跟踪要求使用 Analytics 扩展 v1.6 或更高版本。
在 Platform Launch 项目中包含上述所有三个扩展后,可以采用以下两种方法之一继续操作:
MediaHeartbeat
APIMediaHeartbeat
跟踪器实例上的 API。此实例将通过 MA 扩展公开。安装 - 要安装 MA 扩展,请打开您的扩展资产,选择 Extensions > Catalog,将鼠标悬停在 Adobe Media Analytics for Audio and Video 扩展上方,然后选择 Install。
配置 - 要配置 MA 扩展,请打开 Extensions 选项卡,将鼠标悬停在该扩展上,然后选择 Configure:
选项 | 描述 |
---|---|
Tracking Server | 定义用于跟踪媒体心率的服务器(这与您的分析跟踪服务器不同) |
Application Version | 媒体播放器应用程序/SDK 的版本 |
Player Name | 正在使用的媒体播放器的名称(例如“AVPlayer”、“HTML5 播放器”、“我的自定义视频播放器”) |
Channel | 渠道名称属性 |
Online Video Provider | 用于分发内容的在线视频平台的名称 |
Debug Logging | 启用或禁用日志记录 |
Enable SSL | 允许或禁止通过 HTTPS 发送 ping |
Export APIs to Window Object | 允许或禁止将 Media Analytics API 导出到全局范围 |
Variable Name | window 对象下用于导出 Media Analytics API 的变量 |
提醒: MA 扩展要求使用 Analytics 和 Experience Cloud ID 扩展。您还必须将这些扩展添加到您的扩展资产并对其进行配置。
MA 扩展通过启用 Configuration 页面中的“Export APIs to Window Object”设置,在全局窗口对象中导出 MediaHeartbeat API。它将在配置的变量名称下导出 API。例如,如果变量名称配置为 ADB
,则 window.ADB.MediaHeartbeat
可以访问 MediaHeartbeat。
MA 扩展仅在 window["CONFIGURED_VARIABLE_NAME"]
未定义时才导出 API,并且不会覆盖现有变量。
创建 MediaHeartbeat 实例:window["CONFIGURED_VARIABLE_NAME"].MediaHeartbeat.getInstance
参数:公开这些函数的有效委托对象。
方法 | 描述 |
---|---|
getQoSObject() |
返回包含当前 QoS 信息的 theMediaObject 实例。在播放会话期间,此方法将被调用多次。播放器实施必须始终返回最新的可用 QoS 数据。 |
getCurrentPlaybackTime() |
返回播放头的当前位置。对于 VOD 跟踪,该值以秒为单位,从媒体项目的开头起计算。对于 LIVE/LIVE 跟踪,该值以秒为单位,从计划的开头起计算。 |
返回值:使用 MediaHeartbeat
实例解析或使用错误消息拒绝的承诺。
访问 MediaHeartbeat 常量:window["CONFIGURED_VARIABLE_NAME"].MediaHeartbeat
这会公开 MediaHeartbeat
类中的所有常量和静态方法。
您可在此处获得示例播放器:MA 示例播放器。示例播放器作为参考,展示了如何使用 MA 扩展直接从 Web 应用程序支持 Media Analytics。
按如下方式创建 MediaHeartbeat 跟踪器实例:
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
共享模块公开给其他扩展。(有关共享模块的其他信息,请参阅共享模块文档。)
只能从其他扩展访问共享模块。也就是说,网页/JS 应用程序既无法访问共享模块,也无法在扩展之外使用 turbine
(请参阅下面的代码示例)。
创建 MediaHeartbeat 实例:get-instance
共享模块
参数:
公开这些函数的有效委托对象。
方法 | 描述 |
---|---|
getQoSObject() |
返回包含当前 QoS 信息的 MediaObject 实例。在播放会话期间,此方法将被调用多次。播放器实施必须始终返回最新的可用 QoS 数据。 |
getCurrentPlaybackTime() |
返回播放头的当前位置。对于 VOD 跟踪,该值以秒为单位,从媒体项目的开头起计算。对于 LIVE/LIVE 跟踪,该值以秒为单位,从计划的开头起计算。 |
公开这些属性的可选配置对象:
属性 | 描述 | 必需 |
---|---|---|
在线视频提供商 | 用于分发内容的在线视频平台的名称。 | 否。如果存在,则覆盖扩展配置期间定义的值。 |
播放器名称 | 正在使用的媒体播放器的名称(例如“AVPlayer”、“HTML5 播放器”、“我的自定义视频播放器”) | 否。如果存在,则覆盖扩展配置期间定义的值。 |
渠道 | 渠道名称属性 | 否。如果存在,则覆盖扩展配置期间定义的值。 |
返回值:使用 MediaHeartbeat
实例解析或使用错误消息拒绝的承诺。
访问 MediaHeartbeat 常量:media-heartbeat
共享模快
此模块会公开以下类中的所有常量和静态方法:https://adobe-marketing-cloud.github.io/media-sdks/reference/javascript/MediaHeartbeat.html。
按如下方式创建 MediaHeartbeat 跟踪器实例:
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 文档中的说明,实施媒体跟踪。
测试:对于此版本,要测试您的扩展,必须将其上传到 Adobe Experience Platform Launch,您可以在其中访问所有依赖的扩展。