关于如何通过 segment.io 实施 Mixpanel 分析的任何想法,可以跟踪所有生产和非生产环境。
现在,我在 mixpanel 和 segment.io 上创建了 3 个不同的项目(开发、登台和生产)。并跟踪他们。但是,当我更改开发代码并推动分段和生产时,它会覆盖分析主代码。
我没有使用 ruby....我使用的是 javascript。有什么建议么?替代令牌的配置文件会起作用吗?
关于如何通过 segment.io 实施 Mixpanel 分析的任何想法,可以跟踪所有生产和非生产环境。
现在,我在 mixpanel 和 segment.io 上创建了 3 个不同的项目(开发、登台和生产)。并跟踪他们。但是,当我更改开发代码并推动分段和生产时,它会覆盖分析主代码。
我没有使用 ruby....我使用的是 javascript。有什么建议么?替代令牌的配置文件会起作用吗?
谢谢。我做了一些研究。如果有人不熟悉配置文件或无法访问这些文件,我确实有一种更简单的方法来实现这一点。
我可以有一个在初始化段 i/o 时可以使用的 if 条件。
var apikey;
if (window.location.host === "dev.xyz.com") {
apikey = <api_key>;
} else if (window.location.host === "staging.xyz.com") {
apikey = <api_key>;
} else if (window.location.host === "prod.com") {
apikey = <api_key>;
}
analytics.load(apikey);
替换为来自段 I/o 的相应 api_keys。这很好用。
替代令牌的配置文件是完美的解决方案。
您需要在 javascript 代码段中执行以下操作:
analytics.load("<%= config.segmentio.apiKey %>");
其中 config 是您的开发机器上的开发设置,以及 staging 和 prod 上的 staging/prod 设置。
我建议,作为构建步骤的一部分,您可以加入一个配置变量,该变量标识您的代码在其中运行的环境 - 例如['Dev', 'Staging', 'Production']
。
然后,您将执行与@monical 建议的类似的操作,除非在混合中不使用 URL:
var token;
switch(environment) {
case 'Staging':
token = 'TOKEN_STAGE';
break;
case 'Production':
token = 'TOKEN_PROD';
break;
default:
token = 'TOKEN_DEV';
}
analytics.load(token);