iOS上的Google Analytics:事件未被跟踪

9

我已经按照Google提供的指南将Google Analytics SDK添加到我的项目中。但是,当我尝试跟踪一些事件时,出现了以下调试输出:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    […]

    // Google Analytics
    [GAI sharedInstance].trackUncaughtExceptions = YES;
    [GAI sharedInstance].dispatchInterval = 20;
    [[[GAI sharedInstance] logger] setLogLevel:(PADEV ? kGAILogLevelVerbose : kGAILogLevelError)];
    [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXXXXXX-Y"]; // This is obviously replaced with my tracking ID

    return YES;
}

并且

id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"article"
                                                      action:@"read"
                                                       label:@""
                                                       value:self.post[@"id"]] build]];

日志:

2014-11-12 01:02:25.144 PonzApp[5236:112706] INFO: GoogleAnalytics 3.10 -[GAIBatchingDispatcher didSendHits:response:data:error:] (GAIBatchingDispatcher.m:208): Hit(s) dispatched: HTTP status -1
2014-11-12 01:02:25.146 PonzApp[5236:112781] INFO: GoogleAnalytics 3.10 -[GAIBatchingDispatcher deleteHits:] (GAIBatchingDispatcher.m:509): hit(s) Successfully deleted
2014-11-12 01:02:25.147 PonzApp[5236:112781] INFO: GoogleAnalytics 3.10 -[GAIBatchingDispatcher didSendHits:] (GAIBatchingDispatcher.m:219): 1 hit(s) sent

提示信息显示请求已发送,但HTTP状态异常为-1,如果我在“实时”仪表板中检查,没有任何内容显示。

可能出现了什么问题呢?


1
无论是新账户还是老账户,都需要等待大约24-48小时才能显示任何内容。可以选择实时报告或标准报告。 - Linda Lawton - DaImTo
好的,谢谢您提供的信息。 :) - entropid
1
明天再检查。我的经验告诉我,24小时后您可以实时查看数据。 - Linda Lawton - DaImTo
2
他们在那里,谢谢。如果你能把它作为答案发布,我会接受的。 :) - entropid
你需要使用GAIDictionaryBuilder,请参考https://dev59.com/DFsW5IYBdhLWcg3wX2Zz#41809171。 - onmyway133
显示剩余2条评论
3个回答

9

来自Google Analytics 跟踪设置

一旦您正确安装了跟踪代码片段,您应该允许多达24小时的时间才能在您的帐户中出现数据。如果超过24小时仍然没有看到任何数据,请查看以下可能原因列表:

一旦系统检测到您的跟踪器,您将开始在实时报告中看到数据。一些数据也可能出现在标准报告中,但由于需要24小时才能完成处理,因此不可靠。

总的来说,您的代码看起来很好,您只需要等待。即使是应用程序跟踪,上述情况也是相同的。我怀疑Google需要时间在其端设置新帐户。


2
他们提供的SDK示例立即可用!我从来没有理解过某些事情的“24小时”;它应该(并且对于他们的示例确实如此)立即工作。 - Iulian Onofrei
他们设置新账户可能需要一些时间。这并非总是如此,我曾经见过它需要几个小时到一天的时间。 - Linda Lawton - DaImTo

5

对我来说,问题在于我是在模拟器中测试它... :|


针对这个问题,可能需要考虑在真机上进行测试。

1
同样的情况;-) 模拟器不会执行操作。但是即使在真实设备上,您也会在控制台中看到“成功删除了 hit(s)” 的日志。我认为这与“在应用内存中删除”有关。 - MyounghoonKim

0

如果您正在使用模拟器进行测试,请确保在模拟器上按下 command + shift + H 返回主屏幕,因为数据将在后台发送。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接