Google アナリティクスと Google マップの両方を利用するサイトがあります。これらのサービスには両方とも、サイトのコードで管理する必要がある API キーがあります。Google アナリティクスには、ランチ前にトラッキングをテストするためのライブ アカウントとステージング アカウントの 2 つのアカウントがあります。Google マップの場合、実際にはホスト名ごとに一意の API キーが必要です。いくつかのステージング ドメインとローカル ホスト名があるため、マップ コードには API キーの切り替えがかなりあります。
現在、次のスイッチを使用して、それぞれのページの C# コード ビハインドでキーを管理していますRequest.Url.Host
。
// for analytics in file1
switch (Request.Url.Host) {
case "staging": ltlUACode.Text = "stageKey"; break;
case "client.stage.com": ltlUACode.Text = "stageKey"; break;
case "www.livesite.com": ltlUACode.Text = "liveKey"; break;
case "livesite.com": ltlUACode.Text = "liveKey"; break;
}
// for maps in file2
switch(Request.Url.Host) {
case "staging": GoogleMapsKey = "uniqueKey1"; break;
case "client.stage.com": GoogleMapsKey = "uniqueKey2"; break;
case "www.livesite.com": GoogleMapsKey = "uniqueKey3"; break;
// etc
}
これらすべてのキーを追跡するためのより良い方法を知りたいです。機能する可能性のある2つのことを検討しました。
- my でアプリ設定を使用する
web.config
: ただし、ここでの問題の 1 つは、マップ キーがホスト名に基づいて頻繁に変更されることです (つまり、マップ キーの多くのバリアントを管理するのは悪夢です)。 - ホスト名に基づいてこれらすべてのキーを処理する C# クラスを用意する: 分析キーとマップ キーのプロパティを持つ静的クラスを記述し、それに基づいて
Request.Url.Host
プロパティを適切な値に設定できます。このメソッドは基本的に、ヘルパー クラスにラップされた私の switch メソッドです。