我希望有人可以帮助阐明这里发生的事情,我在我的智慧结束,并担心我一直在看问题。我在没有找到问题的解决方案的情况下上下搜索。
我有使用Google Analytics测量协议录制“综合浏览量”的C#应用程序。 (我没有使用传统的方法,因为所提供的大多数文件都不是HTML,而是直接链接。)
那个有限的背景,我有一个问题,谷歌分析实时中看到“命中”,但没有在分析中显示,我等了一天,然后另一个,然后一个星期,没有数据存在。我甚至没有成功地在分析中设置新的房产。
我首先在下面包含了发送请求的代码(两个注释行用于在调试时检索输出 - 它们在生产代码中被删除):
FormUrlEncodedContent postContent = new FormUrlEncodedContent(new
Dictionary<string, string>() {
{ "v", "1" },
{ "t", "pageview" },
{ "ds", "iis" },
{ "tid", trackingId },
{ "dl", documentLocation },
{ "uip", userIp },
{ "uid", userId },
{ "ua", userAgent },
{ "dr", referrer },
}.ToList<KeyValuePair<string, string>>());
using (HttpClient client = new HttpClient())
{
bool result = client.PostAsync(analyticsUrl, postContent).Result.IsSuccessStatusCode;
//string result = client.PostAsync(analyticsUrl, postContent).Result.Content.ReadAsStringAsync().Result;
//Utility.EventLog.WriteMessageToEventLog(Utility.EventLog.SourceBase + ".Analytics", "Application", result, System.Diagnostics.EventLogEntryType.Information);
}
正在发送的数据如下,域名,UID和IP已被混淆:
v=1&t=pageview&ni=0&tid=UA-xxxxxxxx-2&dl=http%3A%2F%2Fdev.xxxxxxxx.com%2F&uip=97.84.9.2xx&uid=72a0bd81-7664-40d2-a90a-48f357d46afe&ua=Mozilla%2F5.0+(Windows+NT+10.0%3B+Win64%3B+x64)+AppleWebKit%2F537.36+(KHTML%2C+like+Gecko)+Chrome%2F65.0.3325.181+Safari%2F537.36&dr=
启用时的调试响应如下:
{
"hitParsingResult": [ {
"valid": true,
"parserMessage": [ ],
"hit": "/debug/collect?v=1\u0026t=pageview\u0026ni=0\u0026tid=UA-xxxxxxxx-2\u0026dl=http://dev.xxx.com/\u0026uip=xxxxxxxxxxx\u0026uid=72a0bd81-7664-40d2-a90a-48f357d46afe\u0026ua=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36\u0026dr=\u0026_anon_uip=97.84.9.0"
} ],
"parserMessage": [ {
"messageType": "INFO",
"description": "Found 1 hit in the request."
} ]
}
显然,我错过了一些东西,并希望人群的智慧可以帮助指出我错过了什么。提前感谢您,请告诉我我提供的其他可能有用的信息。
答案 0 :(得分:1)
CID是未记录的必需参数。我将再次尝试让谷歌在文档中修复此错误,但我的最后一次尝试没有通过。