2

すべての本番環境と非本番環境を追跡できる、segment.io を介して Mixpanel 分析を実装する方法に関するアイデア。

現在、mixpanel と segment.io の両方で 3 つの異なるプロジェクト (開発、ステージング、本番) を作成しています。そしてそれらを追跡します。しかし、開発コードを変更してステージングと本番にプッシュすると、分析のメイン コードが上書きされます。

私はルビーを使用していません....私は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 は、開発マシンの開発設定であり、ステージングと本番のステージング/本番設定です。

于 2013-10-18T07:22:33.877 に答える
0

ビルドステップの一部として、コードが内部で実行されている環境を識別する構成変数を焼き込むことをお勧めします['Dev', 'Staging', 'Production']

次に、ミックスで URL を使用しないことを除いて、@monical が提案したことと同様のことを行います。

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 に答える