gpt4 book ai didi

analytics - 使用 Google Analytics 跟踪桌面应用程序

转载 作者:行者123 更新时间:2023-12-05 08:12:10 26 4
gpt4 key购买 nike

我想跟踪一个 C++ 桌面应用程序。我在 Google Analytics 上创建了一个帐户,但我只看到 2 个选择:跟踪网站或移动应用程序。我选择了移动应用程序,我收到了一个像 UA-xxxxxxxx-x 这样的 ID。现在,我想知道是否可以使用该 ID 跟踪桌面应用程序,以及如何跟踪。我在论坛上看到了几个例子,但每次都指定了一个网站,但就我而言,我没有任何网站,我只想获得有关我的应用程序的统计信息(使用的功能等......)。

然后我尝试了这个我在Qt中找到的例子(当然没有最终值)

void Analytics::initialize()
{
m_manager = new QNetworkAccessManager(this);
// Call slot_receive() when reply is received
QObject::connect(m_manager, SIGNAL(finished(QNetworkReply *)),
this, SLOT(slot_receive(QNetworkReply *)));

// Send requests to Google Analytics while app is running
QTimer * timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(slot_requestAnalyticsView()));
timer->start(5 * 60 * 1000); // send requests every 5 minutes
slot_requestAnalyticsView(); // send first request
}


void Analytics::slot_requestAnalyticsView()
{
// create request and set URL of receiver
QNetworkRequest request;
QUrl host("http://www.google-analytics.com/collect");
request.setUrl(host);
request.setHeader(QNetworkRequest::ContentTypeHeader,
"application/x-www-form-urlencoded");

// setup parameters of request
QString requestParams;
requestParams += "v=1"; // version of protocol
requestParams += "&t=pageview"; // type of request
requestParams += "&tid="; // Google Analytics account
requestParams += ANALYTICS_ID;

requestParams += "&cid=";
requestParams += getMacAddress(); // unique user identifier
requestParams += "&dp=foobar"; // name of page (or app name)
requestParams += "&ul=" + QLocale::system().name(); // language

// send request via post method

QString qPost = request.url().toString() + QString( "?" ) + requestParams;
qDebug() << "\nPOST = " << qPost << "\n";
m_manager->post(request, requestParams.toStdString().c_str());
}

void Analytics::slot_receive(QNetworkReply * reply)
{
// Output information about reply
qDebug()<<"RequestUrl:" << reply->request().url();
qDebug()<<"Status:" << reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
qDebug()<<"Error:"<< reply->error();
QByteArray bytes=reply->readAll();
qDebug()<<"Contents" << QString::fromUtf8(bytes.data(), bytes.size());
}

我将该代码放在我的应用程序中,但每次我执行它时,都不会调用“slot_receive”,而且我在 Google Analytics 上的统计页面也没有任何变化。

谢谢。

最佳答案

还有c++ client对于Qmonix分析。

目前客户端只能在 POSIX 兼容的操作系统上工作,并且依赖 libcurl 进行 HTTP 通信。但我相信它也可以轻松移植以支持其他平台。

简而言之,Qmonix 是一种分析 SDK,它提供可安装在您自己机器上的服务器软件,不涉及云服务。它使用 HTTP 进行通信。Qmonix 允许自定义事件,它不是特定于 Web 或移动设备的(尽管有 JavaScript 和 Android 库)。

关于analytics - 使用 Google Analytics 跟踪桌面应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21147671/

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