我使用C代码记录来自嵌入式应用程序的HTTP POST请求并查看一个GA帐户的实时事件,但看不到另一个GA帐户。谷歌分析测量协议/实时事件没有显示
在这两种情况下,事件都在第二天在应用程序概述中作为注册消息出现,因此发布似乎正在工作。然而,我并没有看到事件在实时部分出现。
注:
-
ⅰ)客户机ID是相同的GUID在这两种情况下[CID = 35009a79-1a05-49d7-b876-2b884d0f825b]
-
II)的唯一区别是跟踪代码[TID = UA-XXXX-YY]
-
ⅲ)我理解的参数“EV”和“EL”是不必要的(和它们插入没有区别)
-
ⅳ)插入“一个”参数(例如一个= MyApp)导致事件实时显示;但删除an = MyApp会使该事件不作为实时事件显示(但它确实在第二天显示为注册事件)
任何想法发生了什么?
[顺便(虽然这不会引起任何差异),我已启用了GA API开发者控制台,我使用相同的开发人员控制台生成的客户端ID在这两种情况下。]
EDITED : 这里是HTTP发布的代表性片段: -
static BYTE ServerName[] = "www.google-analytics.com";
static WORD ServerPort = 80;
static BYTE GAClientID[] = "35009a79-1a05-49d7-b876-2b884d0f825b";
static BYTE GATrackingCode[] = "UA-XXXXXXX-Y";
static ROM BYTE ContentLength[4];
strcpy(pPayloadBuffer, (ROM BYTE*)"v=1");
strcat(pPayloadBuffer, (ROM BYTE*)"&tid=");
strcat(pPayloadBuffer, (ROM BYTE*)GATrackingCode);
strcat(pPayloadBuffer, (ROM BYTE*)"&cid=");
strcat(pPayloadBuffer, (ROM BYTE*)GAClientID);
strcat(pPayloadBuffer, (ROM BYTE*)"&an=MyApp2&t=pageview&dp=Test");
strcat(pPayloadBuffer, (ROM BYTE*)"&t=event&ev=55&el=label&cd2=");
// get SNTP time and convert to struct tm
dwSNTPseconds = SNTPGetUTCSeconds();
timeNow = gmtime((const time_t*)&dwSNTPseconds);
// inspect values in tm struct
sec = timeNow->tm_sec;
min = timeNow->tm_min;
hour = timeNow->tm_hour;
day = timeNow->tm_mday;
month = timeNow->tm_mon;
year = timeNow->tm_year + 1900;
// years
uitoa(year, sBuffer);
strcat(pPayloadBuffer, sBuffer);
// months
if (month<10) {
strcat(pPayloadBuffer, "0");
}
uitoa(month, sBuffer);
strcat(pPayloadBuffer, sBuffer);
// days
if (day<10) {
strcat(pPayloadBuffer, "0");
}
uitoa(day, sBuffer);
strcat(pPayloadBuffer, sBuffer);
// hours
if (hour<10) {
strcat(pPayloadBuffer, "0");
}
uitoa(hour, sBuffer);
strcat(pPayloadBuffer, sBuffer);
// minutes
if (min<10) {
strcat(pPayloadBuffer, "0");
}
uitoa(min, sBuffer);
strcat(pPayloadBuffer, sBuffer);
// seconds
if (sec<10) {
strcat(pPayloadBuffer, "0");
}
uitoa(sec, sBuffer);
strcat(pPayloadBuffer, sBuffer);
// Temperature
strcat(pPayloadBuffer, (ROM BYTE*)"&cm1=");
uitoa(gTemperature, tmpString);
strcat(pPayloadBuffer, tmpString);
lenPayload = strlen(pPayloadBuffer);
// Place the application protocol data into the transmit buffer
TCPPutROMString(MySocket, (ROM BYTE*)"POST /collect HTTP/1.1\r\n");
TCPPutROMString(MySocket, (ROM BYTE*)"Host: ");
TCPPutString(MySocket, ServerName);
TCPPutROMString(MySocket, (ROM BYTE*)"\r\n");
TCPPutROMString(MySocket, (ROM BYTE*)"Content-Type: text/xml; charset=utf-8\r\n");
TCPPutROMString(MySocket, (ROM BYTE*)"Content-Length: ");
uitoa(lenPayload, (BYTE*)ContentLength);
TCPPutString(MySocket, (BYTE*)ContentLength);
TCPPutROMString(MySocket, (ROM BYTE*)"\r\n");
TCPPutROMString(MySocket, (ROM BYTE*)"Accept-Language: en-us \r\n");
TCPPutROMString(MySocket, (ROM BYTE*)"Accept-Encoding: gzip, deflate \r\n");
TCPPutROMString(MySocket, (ROM BYTE*)"Connection: Keep-Alive \r\n\r\n");
TCPPutString(MySocket, pPayloadBuffer);
// end of line
TCPPutROMString(MySocket, (ROM BYTE*)"\r\n");
TCPPutROMString(MySocket, (ROM BYTE*)"\r\n");
// Send the packet
TCPFlush(MySocket);
你可以张贴HTTP后的一个完整的例子任何机会?这是一个网站分析帐户还是一个应用程序分析帐户? – DaImTo 2014-12-05 17:56:50
Account1:Web,Account2:App,Account3:Web。只有Account1显示实时事件。在上面的文章 – quixote 2014-12-08 11:10:53
中添加了HTTP POST的示例,以便应用程序帐户不会执行这个技巧!&!= screenview not&t = pageview – DaImTo 2014-12-08 11:34:17