2

关于如何通过 segment.io 实施 Mixpanel 分析的任何想法,可以跟踪所有生产和非生产环境。

现在,我在 mixpanel 和 segment.io 上创建了 3 个不同的项目(开发、登台和生产)。并跟踪他们。但是,当我更改开发代码并推动分段和生产时,它会覆盖分析主代码。

我没有使用 ruby​​....我使用的是 javascript。有什么建议么?替代令牌的配置文件会起作用吗?

4

3 回答 3

1

谢谢。我做了一些研究。如果有人不熟悉配置文件或无法访问这些文件,我确实有一种更简单的方法来实现这一点。

我可以有一个在初始化段 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。这很好用。

于 2013-10-22T22:58:15.793 回答
0

替代令牌的配置文件是完美的解决方案。

您需要在 javascript 代码段中执行以下操作:

analytics.load("<%= config.segmentio.apiKey %>");

其中 config 是您的开发机器上的开发设置,以及 staging 和 prod 上的 staging/prod 设置。

于 2013-10-18T07:22:33.877 回答
0

我建议,作为构建步骤的一部分,您可以加入一个配置变量,该变量标识您的代码在其中运行的环境 - 例如['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);
于 2015-03-06T03:56:58.823 回答