Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IOS谷歌分析-没有数据通过_Ios_Google Analytics Sdk - Fatal编程技术网

IOS谷歌分析-没有数据通过

IOS谷歌分析-没有数据通过,ios,google-analytics-sdk,Ios,Google Analytics Sdk,我有两个iOS应用程序,我正在尝试连接到谷歌分析。其中一个在工作,另一个没有 这本书已经出版了好几年了。不起作用的是一个新的应用程序,但使用相同的代码-只是不同的图形和数据 在日志中,我能看到的唯一区别是(正在运行的应用程序): 不工作的应用程序显示: INFO: GoogleAnalytics 3.10 -[GAIBatchingDispatcher didSendHits:response:data:error:] (GAIBatchingDispatcher.m:208): Hit(s)

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

这本书已经出版了好几年了。不起作用的是一个新的应用程序,但使用相同的代码-只是不同的图形和数据

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

不工作的应用程序显示:

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中的任何数据。

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

我意识到这是一个老问题,但为了以后帮助其他人:根据我的研究,如果只需要发送一次点击,GA将以GET字符串的形式发送,vars作为查询字符串参数。当它使用GET时,它的HTTP响应是-1,可能是因为它实际上没有进行API调用


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

为什么HTTP状态代码“-1”甚至不是HTTP代码。非常奇怪?试一下另一个键已经试过了-我使用了正在运行的应用程序中的键,然后它就工作了。然后,我尝试为另一个应用程序创建一个新密钥,但仍然是一样的。我也获得了HTTP状态-1,但我的帐户已打开数月,我当时创建了ID。然而,这是几个月来我第一次尝试使用这个ID。当然,实时视图没有显示任何内容。盖伊似乎认为这笔交易是成功的。我在模拟器和设备上得到了相同的结果。谢谢你的输入。这是对GA内部运作的有益洞察!谢谢,我在其他地方找不到这个答案!为了进一步解释,GET参数没有正确编码,这导致了一个错误。在我的例子中,尝试发送逗号分隔的自定义维度会导致失败。我还注意到,放置“/”字符会导致失败。
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";
}