Adobe Analytics 扩展的共享模块
NOTE
Adobe Experience Platform Launch已更名为Adobe Experience Platform中的一套数据收集技术。 因此,产品文档中的术语有一些改动。 有关术语更改的综合参考,请参阅以下文档。
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可能尚未安装或包含在与您的扩展相同的标记库中。 因此,强烈建议您在代码中检查有无这种情况,并做出相应处理。以下的 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.");
}
如果getTracker
为undefined
,则标记库中不存在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 得以解决。
WARNING
在暂停跟踪器初始化过程中,请务必保持谨慎,因为它可能会延迟发送信标,从而导致无法收集数据(例如,如果用户在信标发送前从页面导航离开)。
recommendation-more-help
12b4e4a9-5028-4d88-8ce6-64a580811743