适用于生产环境和非生产环境的Segment.io和mixpanel实现配置文件?

时间:2013-10-14 18:38:42

标签: javascript config analytics google-analytics-api mixpanel

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

现在我在mixpanel和amp;上创建了3个不同的项目(dev,staging和production)。 segment.io。并追踪他们。但是,当我正在更改开发代码并推送到分段和产品时,它会覆盖分析主代码。

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

3 个答案:

答案 0 :(得分: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。这很有效。

答案 1 :(得分:0)

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

你想在javascript片段中做这样的事情:

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

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

答案 2 :(得分: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);