Adobe Experience Platform Launch已更名为Adobe Experience Platform中的一套数据收集技术。 因此,产品文档中的术语有一些改动。有关术语更改的综合参考,请参阅以下文档。
使用本文档了解有关安装、配置和实施 Adobe Media Analytics for Audio and Video 扩展(Media Analytics 扩展)的信息。其中包括使用此扩展构建规则时可用的选项,以及一些示例和指向示例的链接。
Media Analytics (MA) 扩展添加了核心 JavaScript Media SDK (Media 2.x SDK)。此扩展提供了用于添加 MediaHeartbeat
标记网站或项目的跟踪器实例。 MA 扩展需要使用其他两个扩展:
音频跟踪要求使用 Analytics 扩展 v1.6 或更高版本。
在标记项目中包含上述所有三个扩展后,可以采用以下两种方法之一继续操作:
MediaHeartbeat
APIMediaHeartbeat
跟踪器实例上的 API。此实例将通过 MA 扩展公开。安装 — 要安装MA扩展,请打开您的扩展资产,然后选择 “扩展”>“目录”,将光标悬停在 Adobe Medium Analytics for Audio and Video 扩展并选择 安装.
配置 — 要配置MA扩展,请打开 扩展 选项卡,将鼠标悬停在该扩展上,然后选择 配置:
选项 | 描述 |
---|---|
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扩展通过启用中的“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 跟踪,该值以秒为单位,从计划的开头起计算。 |
公开这些属性的可选配置对象:
属性 | 描述 | 必需 |
---|---|---|
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 跟踪器实例:
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 文档中的说明,实施媒体跟踪。
测试:对于此版本,要测试您的扩展,必须将其上传到 Platform ,您可以在其中访问所有依赖的扩展。