gpt4 book ai didi

google-analytics - 谷歌分析测量协议(protocol)/实时事件未显示

转载 作者:行者123 更新时间:2023-12-03 15:53:15 25 4
gpt4 key购买 nike

我正在使用 C 代码记录来自嵌入式应用程序的 HTTP POST 请求,并看到一个 GA 帐户显示实时事件,但另一个帐户没有显示实时事件。

在这两种情况下,这些事件都会在第二天以注册消息的形式出现在应用程序概览中,因此发布似乎正在发挥作用。然而,我没有看到事件出现在实时部分。

笔记:

i) 客户端 ID 在两种情况下都是相同的 GUID [cid=35009a79-1a05-49d7-b876-2b884d0f825b]

ii) 唯一的区别是跟踪代码 [tid=UA-XXXX-YY]

iii) 我知道参数“ev”和“el”不是必需的(插入它们没有区别)

iv) 插入“an”参数(例如 an=MyApp)会导致事件实时显示;但删除 an=MyApp 会使事件不显示为实时事件(但它会在第二天显示为注册事件)

有什么想法吗?

[顺便说一句(尽管这不会造成任何差异),我已经在开发者控制台中启用了 GA API,并且在这两种情况下我都使用了相同的开发者控制台生成的客户端 ID。]

编辑:
这是 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);

最佳答案

不是一个完整的答案我只是想帮助调试:

对于应用帐户,其 &t= screenview不是 &t=综合浏览量

对于应用帐户,以下是未记录的必填字段

  • an – 应用程序名称示例:an=My%20Awesom%20APP
  • 援助 – 应用程序 ID 示例:aid=com.daimto.awesom.app
  • av – 应用程序版本示例:av=1.0.0
  • aiid – 应用程序安装程序 ID 示例:aiid=come.daimto.awesom.installer
  • 关于google-analytics - 谷歌分析测量协议(protocol)/实时事件未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27320985/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com