3

我有 2 个 iOS 应用程序,我正在尝试连接到谷歌分析。其中一个正在工作,另一个没有!

正在工作的那个已经出版了几年了。不工作的是一个新应用程序,但使用相同的代码 - 只是不同的图形和数据。

在日志中,我能看到的唯一区别是(正在运行的应用程序):

INFO: GoogleAnalytics 3.10 -[GAIBatchingDispatcher didSendHits:response:data:error:]
(GAIBatchingDispatcher.m:208): Hit(s) dispatched: HTTP status 200

不工作的应用程序显示:

INFO: GoogleAnalytics 3.10 -[GAIBatchingDispatcher didSendHits:response:data:error:]
(GAIBatchingDispatcher.m:208): Hit(s) dispatched: HTTP status -1

据我所知,GA 端的设置是相同的,两个应用程序都使用相同的代码文件。除了应用程序 ID 和 UA 密钥之外,请求似乎也是一样的——它们是正确的:

VERBOSE: GoogleAnalytics 3.10 -[GAIBatchingDispatcher persist:]
(GAIBatchingDispatcher.m:497): Saved hit: {
parameters =     {
    "&_crc" = 0;
    "&_u" = ".etno";
    "&_v" = "mi3.1.0";
    "&a" = 53345067;
    "&aid" = "com.mycompany.myapp";
    "&an" = Recipes;
    "&av" = "2.2";
    "&cd" = Recipes;
    "&cid" = "f2da689b-ebdb-4e9e-9370-b8150c9950f1";
    "&ds" = app;
    "&sr" = 320x568;
    "&t" = appview;
    "&tid" = "UA-56722604-1";
    "&ul" = "en-gb";
    "&v" = 1;
    "&z" = 2718623027941064481;
    gaiVersion = "3.10";
};
timestamp = "2014-11-14 11:33:17 +0000";
}

知道为什么我会获得 -1 http 状态吗?

感谢您的关注。

编辑

进一步研究后,我有时会在应用程序中获得 200 状态,该状态无法正常工作 - 我猜 -1 表示临时网络错误(本周我的互联网连接非常不稳定!)

但即使有 200 响应,我仍然在 GA 中看不到任何数据。

4

2 回答 2

3

我意识到这是一个老问题,但为了以后帮助别人:从我的研究看来,如果只有一个命中要发送,GA 会将其作为 GET 字符串发送,其中 vars 作为查询字符串参数. 当它使用 GET 时,它的 HTTP 响应是 -1,可能是因为它实际上并没有进行 API 调用。

如果有超过 1 个命中排队发送到 GA 服务器,它将使用对 GA API 的 POST 调用。发生这种情况时,HTTP 响应为 200。

于 2018-08-13T12:49:15.217 回答
2

好吧,事实证明它确实有效。然而,“实时”结果不起作用,并且在 GA 中看到结果之前需要 72 多个小时(从创建 GA 帐户开始)!

于 2014-11-24T13:47:42.310 回答