Adobe Analytics 扩展的共享模块

Adobe Analytics 扩展提供两个不同的共享模块,您可以将这两个模块集成到体验应用程序中。以下各部分将对这些模块进行介绍。

get-tracker

Adobe Analytics 在发送任何信标之前,必须先初始化跟踪器对象。初始化过程首先需加载 AppMeasurement,然后创建跟踪器对象。

在使用 get-tracker 共享模块完全初始化跟踪器对象后,您才有权访问该对象,如下所示:

var getTracker = turbine.getSharedModule('adobe-analytics', 'get-tracker');

getTracker().then(function(tracker) {
  // Use tracker in some way
});

验证是否已安装 Adobe Analytics

Adobe Analytics 有可能尚未安装,或尚未包含在与您的扩展相同的 Platform Launch 库中。因此,强烈建议您在代码中检查有无这种情况,并做出相应处理。以下的 JavaScript 是实施此功能的方法示例:

var getTracker = turbine.getSharedModule('adobe-analytics', 'get-tracker');

if (getTracker) {
  getTracker().then(function(tracker) {
    // Use tracker in some way
  });
} else {
  turbine.logger.error("The Adobe Analytics extension is required for Extension XYZ to function properly.");
}

如果 getTrackerundefined,则 Platform Launch 库中不存在 Adobe Analytics 扩展。您可以自定义已记录的消息,以便准确反映未安装 Adobe Analytics 时可能丢失的功能。

augment-tracker

初始化跟踪器对象后,流程中的下一步是增强。从 Adobe Analytics 扩展配置应用任何变量之前,或者在发送任何信标之前,这一步可以让您的扩展有机会在任何必要时增强追踪器。

此外,当扩展执行其自身的任何异步任务(如从服务器中获取数据或 JavaScript)时,则有机会暂停跟踪器初始化过程。

您可以实施 augment-tracker 模块,如下所示:

var augmentTracker = turbine.getSharedModule('adobe-analytics', 'augment-tracker');

augmentTracker(function(tracker) {
  // Augment tracker in some way
});

一旦达到跟踪器初始化过程的增强阶段,将立即调用传递到 augmentTracker() 的函数。

如果您的扩展需要在增强跟踪器之前完成异步任务,您可以从函数中返回一个 promise,如下所示:

var Promise = require('@adobe/reactor-promise');
var augmentTracker = turbine.getSharedModule('adobe-analytics', 'augment-tracker');

augmentTracker(function(tracker) {
  return new Promise(function(resolve) {
    // Augment the tracker object, then call resolve()
  });
});

通过返回 promise,您的扩展将向 Adobe Analytics 发出信号,提示它应暂停跟踪器初始化过程,直到 promise 得以解决。

警告

在暂停跟踪器初始化过程中,请务必保持谨慎,因为它可能会延迟发送信标,从而导致无法收集数据(例如,如果用户在信标发送前从页面导航离开)。

在此页面上

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free