一键采集上传常见的细节问题( 批量上传最多不超过20个匹配批量限制(图) )
优采云 发布时间: 2021-09-26 07:29一键采集上传常见的细节问题(
批量上传最多不超过20个匹配批量限制(图)
)
v=1&tid=UA-XXXXX-Y&cid=555&t=event&ec=play&ea=paly
当然,我们也可以批量上传不超过20个匹配项
v=1&tid=UA-XXXXX-Y&cid=555&t=event&ec=play&ea=paly
v=1&tid=UA-XXXXX-Y&cid=555&t=event&ec=play&ea=stop
v=1&tid=UA-XXXXX-Y&cid=555&t=event&ec=play&ea=test
批量限制可以为每个请求指定最多20个匹配项。所有匹配加载的总大小不能超过16K字节,单个匹配加载不能超过8K字节
T表示匹配的类型。我在这里选择发送的匹配类型是事件跟踪类型:event,EC表示事件类别,EA表示事件操作。有关更多参数,请参阅详细介绍的开发文档
操作步骤
现在我们来谈谈具体的步骤和过程
如果你有谷歌账户,最好在谷歌浏览器上注册。使用此帐户登录Google Analytics并单击以创建媒体资源
这里我们选择网站,因为我们需要以ua-xxxxx-x格式创建媒体资源ID,然后单击“继续”
网站name我们可以填写我们自己软件的名称。这是武断的。事实上,我们依靠这个网站来计算数据。我填的是我们公司的官方网站地址。行业类别选择计算机和电子产品,然后单击“创建”
成功创建后,将生成跟踪ID。记住这个ID,它是每次上传的匹配TID值
接下来,我们使用C++代码上传数据。以下是上载的示例:
<p>int main()
{
WSADATA wData;
::WSAStartup(MAKEWORD(2, 2), &wData);
SOCKET clientSocket = socket(AF_INET, 1, 0);
struct sockaddr_in ServerAddr = { 0 };
int Ret = 0;
int AddrLen = 0;
HANDLE hThread = 0;
/*这里假设我要上传用户点击了某个按钮
v:1
t:匹配类型是事件event
ec:事件类别是video
ea:事件操作是点击停止按钮stop
tid:就是我们创建媒体资源成功后的媒体资源ID
cid:用户标识,可以用电脑mac进行标识
*/
string strBody = "v=1&tid=UA-xxxxxx-2&cid=6058&t=event&ec=video&ea=stop";
int body_len = strBody.length();
char bufSend[1024] = {0};
sprintf(bufSend, "POST /collect HTTP/1.1\r\n");
sprintf(bufSend, "%sHost:%s\r\n", bufSend, "www.google-analytics.com");
sprintf(bufSend, "%sContent-Length: %d\r\n", bufSend, body_len);
sprintf(bufSend, "%s\r\n%s", bufSend, strBody.c_str());
char addIp[256] = { 0 };
char* url = (char*)"www.google-analytics.com";
HOSTENT* pHostEnt;
int nAdapter = 0;
struct sockaddr_in sAddr;
pHostEnt = gethostbyname(url);
if (pHostEnt)
{
if (pHostEnt->h_addr_list[nAdapter])
{
memcpy(&sAddr.sin_addr.s_addr, pHostEnt->h_addr_list[nAdapter], pHostEnt->h_length);
}
}
else
{
cout