我想在非基于 Web 的应用程序(基于 Windows 的应用程序)中向 Google 分析发送请求?我尝试了以下方法。
public string trackingId = "UA-XXXXXXXX-2";
private void button1_Click(object sender, EventArgs e)
{
string shopname = "ShopTestng";
string pagename="Testing_MyApp";
callAnalyticsmethod2(pagename, shopname);
}
private void callAnalyticsmethod2(string pageName, string shopname)
{
// create hash code base on pc name 7 user name
string visitorId = GetUniqueUserId();
if (string.IsNullOrEmpty(pageName))
pageName = visitorId;
string utmGifLocation = "http://www.google-analytics.com/__utm.gif";
string GifUrl = "utmwv=4.9" +
"&utmn=" + GetRandomNumber() +
"&utmp=" + pageName +
"&utmac=" + trackingId +
"&utmcc=__utma%3D999.999.999.999.999.1%3B" +
"&utmvid=" + visitorId;// + "?" +
string shop = shopname.Replace(" ", "_");
string addipara = GifUrl+"&utmr=http://" + shop;
byte[] dataStream = Encoding.UTF8.GetBytes(addipara);
string request = utmGifLocation;
WebRequest webRequest = WebRequest.Create(request);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.ContentLength = dataStream.Length;
Stream newStream = webRequest.GetRequestStream();
// Send the data.
newStream.Write(dataStream, 0, dataStream.Length);
newStream.Close();
WebResponse webResponse = webRequest.GetResponse();
MessageBox.Show((((HttpWebResponse)webResponse).StatusDescription));
newStream = webResponse.GetResponseStream();
StreamReader reader = new StreamReader(newStream);
string responseFromServer = reader.ReadToEnd();
MessageBox.Show(responseFromServer);
reader.Close();
newStream.Close();
webResponse.Close();
}
根据上面的代码示例
MessageBox.Show((((HttpWebResponse)webResponse).StatusDescription));
行显示为“OK”。但是当我检查谷歌分析时,访问次数并没有增加。这是什么原因?我有什么遗漏或任何其他方式向分析发送请求吗?