C# で記述されたデスクトップ アプリケーションがあります。Google アナリティクスでユーザー統計を収集したいと考えています。たとえば、ユーザーが特定のボタンを押したときと、そのボタンを押したときのテキスト コントロールの値を知りたいとします。
ここで説明されているように、イベント データを送信しています。この質問のようにWebClient.UploadValuesとWebClient.UploadStringのいずれかを使用してこれを実行しようとしました
新しい Google アナリティクス アカウントを設定しました。何を追跡するか (ウェブサイトまたはモバイル アプリ) を尋ねられたとき、モバイル アプリを選択しました (デスクトップ アプリの選択肢はありませんでした)。
問題は、Google アナリティクス アカウントにデータが表示されないことです。新しいデータが表示されるまでに時間がかかることは承知していますが、3 日間待っています。また、アプリケーションをテストするときにリアルタイム ビューに何も表示されません (また、分析が接続された Web サイトがいくつかあり、それらを参照すると、リアルタイム セクションに新しいページビューが表示されます)。
私は何を間違っていますか?
私が使用するコードは次のとおりです。
private static string _googleURL = "http://www.google-analytics.com/collect";
private static string _gaid = "UA-12345678-9";
public static void TestMethod()
{
try
{
string data = "";
data += "v=" + HttpUtility.UrlEncode("1");
data += "&" + "tid" + "=" + HttpUtility.UrlEncode(_gaid);
data += "&" + "cid" + "=" + HttpUtility.UrlEncode(Guid.NewGuid().ToString());
data += "&" + "t" + "=" + HttpUtility.UrlEncode("event");
data += "&" + "ec" + "=" + HttpUtility.UrlEncode("testevent");
data += "&" + "ea" + "=" + HttpUtility.UrlEncode("testaction");
data += "&" + "el" + "=" + HttpUtility.UrlEncode("testlabel");
using (var client = new WebClient())
{
client.UploadString(_googleURL, "POST", data);
}
}
catch (Exception ex)
{
Trace.WriteLine(ex);
}
}