@esri/telemetry-adobe
此库输出 telemetry-adobe 该插件 Telemetry.js 与 Adobe Analytics 交互的软件包.
目录
安装
npm install @esri/telemetry
npm install @esri/telemetry-adobe
如何使用
@esri/telemetry-adobe 软件包在客户端浏览器中工作(注意: 没有支持服务器侧节点.js) (中文(简体) ).
要使用, 安装软件包, 将它包含在您的工程中, 并创建插件实例, 并将其作为一个 plugin 与 @esri/遥测
以下是如何使用Adobe插件的例子.
Adobe 分析
联合来文
import { Telemetry } from '@esri/telemetry';
import { AdobeAnalytics } from '@esri/telemetry-adobe';
const adobeAnalyticsTracker = new AdobeAnalytics({
/****** reportSuite ******
* This is the id for the Report Suite where your telemetry data will be logged to
*/
reportSuite: 'myreportsuite',
/****** trackingServer ******
* This is the Tracking Server url, you can get it from your adobe account
*/
trackingServer: 'myServer.com',
/****** trackingServerSSL ******
* This is the Secure Tracking Server url, you can get it from your adobe account
*/
trackingServerSSL: 'mySecureServer.com',
/***** dimensions *******
* Mapping for dimensions to the eVars (and possibly props) they will get stored as.
* Note: if you are mapping props, then you have to explicitly remap ALL predefined props,
* or else class will error out on instantiation.
*
* ex:
* dimensions: {
* customValue: "eVar1",
* anotherCustom: "eVar2"
* }
*
* becomes the following when sent to the server:
*
* {
* eVar1: {actual value for "customValue"},
* eVar2: {actual value for "anotherCustom"}
* }
*/
dimensions: {
customValue: 'eVar1',
anotherCustom: 'eVar2',
},
});
const telemetryOptions = {
plugins: [adobeAnalyticsTracker],
portal: {
subscriptionInfo: {},
user: {},
},
};
const telemetry = new Telemetry(telemetryOptions);
await telemetry.init();
telemetry.logPageView();
telemetry.logEvent({
category: 'Dataset',
action: 'Attribute Inspect',
label: 'Metadata',
attribute: 'Metadata',
details: 'Metadata',
customValue: 'val',
anotherCustom: 12,
});
eVar 财务报告和审定财务报表 Prop 在 Adobe 分析中:
默认映射
Adobe 分析使用名为变量的变量 eVars 和 props 用于存储自定义值( s)电子变量编号 :道具) (中文(简体) ). 我们的插件会自动将值分配到某一组 props. 以下是使用的默认绘图:
prop1: eventType;
prop2: referrer;
prop3: hostname;
prop4: path;
prop5: pageName;
prop6: previousPageName;
prop7: previousPageUrl;
prop8: category;
prop9: action;
prop10: label;
prop11: attribute;
prop12: details;
你可以用这个 dimensions 参数以指定如何将数值映射到eVars,以及可能重新映射上面指定的道具映射。 注意:如果你重述了 1 个选项,那么你必须明确 捍卫所有12个选项。 举个例子:
const adobeAnalyticsTracker = new AdobeAnalytics({
reportSuite: 'myreportsuite',
trackingServer: 'myServer.com',
trackingServerSSL: 'mySecureServer.com',
dimensions: {
extra1: 'eVar1',
details: 'prop1',
attribute: 'prop2',
label: 'prop3',
action: 'prop4',
category: 'prop5',
previousPageUrl: 'prop6',
previousPageName: 'prop7',
referrer: 'prop8',
path: 'prop9',
pageName: 'prop10',
hostname: 'prop11',
eventType: 'prop12',
},
});
对数PageView () 示例
const adobeAnalyticsTracker = new AdobeAnalytics({
reportSuite: 'myreportsuite',
trackingServer: 'myServer.com',
trackingServerSSL: 'mySecureServer.com',
dimensions: {
customValue: "eVar1",
anotherCustom: "eVar2"
}
})
const telemetryOptions = {
plugins: [adobeAnalyticsTracker],
portal: {
subscriptionInfo: {},
user: {},
},
}
const telemetry = new Telemetry(telemetryOptions);
await telemetry.init();
telemetry.logPageView("adobe.html", {
customValue: "My Extra Data 1",
anotherCustom: "My Extra Data 2"
})
Results in =>
prop1: "pageView" // eventType
prop2: [hostname] // hostname
prop3: [pageName] // pageName
prop4: [path] // path
prop5: [referrer] // referrer
prop6: [previousPageName] // previousPageName
prop7: [previousPageUrl] // previousPageUrl
prop8: undefined // category
prop9: undefined // action
prop10: undefined // label
prop11: undefined // attribute
prop12: undefined // details
eVar1: "My Extra Data 1" // customValue
eVar2: "My Extra Data 2" // anotherCustom
实例
const adobeAnalyticsTracker = new AdobeAnalytics({
reportSuite: 'myreportsuite',
trackingServer: 'myServer.com',
trackingServerSSL: 'mySecureServer.com',
dimensions: {
randomProp1: "eVar1",
randomProp2: "eVar2",
randomProp3: "eVar3"
}
})
const telemetryOptions = {
plugins: [adobeAnalyticsTracker],
portal: {
subscriptionInfo: {},
user: {},
},
}
const telemetry = new Telemetry(telemetryOptions)
await telemetry.init();
telemetry.logEvent({
category: "myCategory",
attribute: "myAttribute",
randomProp1: "val",
randomProp2: "val2",
randomProp3: 72
});
Results in =>
prop1: "other" // eventType
prop2: [hostname] // hostname
prop3: [pageName] // pageName
prop4: [path] // path
prop5: [referrer] // referrer
prop6: [previousPageName] // previousPageName
prop7: [previousPageUrl] // previousPageUrl
prop8: "myCategory" // category
prop9: undefined // action
prop10: undefined // label
prop11: "myAttribute" // attribute
prop12: undefined // details
eVar1: "val" // randomProp1
eVar2: "val2" // randomProp2
eVar3: 72 // randomProp3
Adobe 分析配置
如果您需要禁用跟踪, 您可以设定 disabled: true 初始化时 Telemetry 对象。 然后,你可以继续使用 方法在你的例子 Telemetry 没有丢弃例外 或记录错误.
此外,您可以在初始化时禁用单个跟踪器 Telemetry 通过移动对象 disabled: true 在跟踪选项中.
{
adobeOptions: {
disabled: true,
...
}
}
初始化后,可以禁用并启用特定的跟踪器 disableTracker 财务报告和审定财务报表 enableTracker 方法。 。 .
telemetry.disableTracker('adobe-analytics');
telemetry.logPageView(); // no AdobeAnalytics page view logged
telemetry.logEvent(); // no AdobeAnalytics event logged
telemetry.enableTracker('adobe-analytics');
telemetry.logPageView(); // AdobeAnalytics page view logged
telemetry.logEvent(); // AdobeAnalytics event logged
telemetry.disableTracker('adobe-alloy');
telemetry.logPageView(); // no AdobeAlloy page view logged
telemetry.logEvent(); // no AdobeAlloy event logged
telemetry.enableTracker('adobe-alloy');
telemetry.logPageView(); // AdobeAlloy page view logged
telemetry.logEvent(); // AdobeAlloy event logged
问题
如果有什么不起作用,请看一看 以往问题 先说 你找到新窃听器了吗? 创建问题 这里。 。 。 .
捐款
Esri欢迎所有人的贡献。 请看我们的 提交文件的准则。 。 。 .
许可证
版权: 2022 Esri
根据Apache许可证第2.0版("License"); 您不得使用此文件,除非符合许可证. 您可在下列地点获得许可证副本:
除非适用的法律要求或书面同意,否则软件 根据许可证发放的是在“AS IS”BASIS上发放的, 没有任何明示或暗示的警告或条件. 有关许可的特定语言的许可证 许可证的限制.
许可证副本可到存放处索取 自由主义 文档.