2.7.3 テスト/プロダクション・フラグ

開発環境とプロダクション環境の両方で同じコード・ベースを使用している場合は、 どのサーバー (開発、ステージング、またプロダクション) がコードをレンダリングし、 適切な値を持つ cmSetClientID(…); 関数を呼び出すかを決定するフラグを実装することがベスト・プラクティスです。Digital Analytics がホストするライブラリーを使用しないクライアントは、cmSetProduction(); も呼び出す必要があります。例えば、コードが開発サーバー、ステージング・サーバー、またはプロダクション・サーバーのいずれにあるかを示すサーバー・サイド・フラグを作成することができます。

サーバー・サイド・フラグを作成できない場合は、クライアント・サイド・フラグを JavaScript で実装して、URL ドメイン値などに基づいて cmSetClientID(…); を呼び出すことができます。ただし、URL を使用する方法は、コードがテスト・サーバーでレンダリングされているか、プロダクション・サーバーでレンダリングされているかを決定する方法としては信頼性の点ではるかに劣ります。プロダクション環境では考えられるすべての URL を包括するように URL ベースのルールを維持する必要があります。

例:

if(productionServerFlag)  {
     cmSetClientID("99999999",true,"data.coremetrics.com","thesite.com");
  } else {
     cmSetClientID("69999999",false,"testdata.coremetrics.com","thesite.com");
  }
…