Adobe Media 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 应用程序中的
MediaHeartbeatAPI - 包含或构建特定于播放器的扩展,以便将特定媒体播放器事件映射到
MediaHeartbeat跟踪器实例上的 API。此实例将通过 MA 扩展公开。
安装和配置 MA 扩展
-
安装 - 要安装 MA 扩展,请打开您的扩展资产,选择 Extensions > Catalog,将鼠标悬停在 Adobe Media Analytics for Audio and Video 扩展上方,然后选择 Install。
-
配置 - 要配置 MA 扩展,请打开 Extensions 选项卡,将鼠标悬停在该扩展上,然后选择 Configure:
配置选项:
window 对象下用于导出 Media Analytics API 的变量提醒: MA 扩展要求使用 Analytics 和 Experience Cloud ID 扩展。您还必须将这些扩展添加到您的扩展资产并对其进行配置。
使用 MA 扩展
通过网页/JS 应用程序使用
MA 扩展通过启用 Configuration 页面中的“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 文档中的说明,实施媒体跟踪。