iOS:Google Analytics用户时间报告未在我的Google Analytics帐户中更新

M V*_*esh 9 google-analytics ios

我正在尝试使用Google分析来跟踪我的应用程序速度,但我在谷歌分析帐户中看不到应用程序速度下的任何内容.我跟踪了其他参数,如事件,崩溃和异常.对于那些参数我能够看到我的谷歌分析帐户中生成的报告.以下是我用来发送事件计时的代码.

 self.endDate=[NSDate date];
 double timeDiff=[_startDate
 timeIntervalSinceDate:_endDate];
 NSLog(@"timeDiff----%f",timeDiff); 
 if([[[GAI sharedInstance]defaultTracker] sendTimingWithCategory:category
                                                       withValue:timeDiff
                                                        withName:@"LoadTime"      
                                                       withLabel:category])   {
       NSLog(@"Succesfully sent load time to GA");   
 }
Run Code Online (Sandbox Code Playgroud)

以下是控制台中打印的消息.

GoogleAnalytics 2.0b4 - [GAIDispatcher dispatchComplete:withStartTime:withRetryNumber:withResponse:withData:withError:](GAIDispatcher.m:415)DEBUG:已成功发送hit/GAIHit/p479(0次重试).

如果你有,请提供任何示例代码.请帮助我.提前致谢.

nh3*_*2rg 22

我发现间隔必须是一个整数.它预计毫秒,但NSTimeInterval是秒,因此它尝试将其发送为"3.1234",但如果将其转换为整数毫秒,它将发送为3123,您应该看到结果.转换我使用(GA V3)

[tracker send:[[GAIDictionaryBuilder createTimingWithCategory:category interval:@((int)(interval * 1000)) name:name label:label] build]]
Run Code Online (Sandbox Code Playgroud)


Vin*_*ius 0

你的实现看起来不错。我不认为这是问题(当您获得基本事件时,这可能不是初始化问题)。我有相同的方法来记录计时事件(如果您想比较,您可以在下面找到我的代码)。

\n\n

我能告诉你的是:

\n\n

1/ 这是一个“测试版”版本(是的,@google 的所有内容都处于测试版 xD),非常不稳定,事件需要时间才能在管理中显示(我还没有看到 2 月 18 日的任何事件) , 例如)。至少,比具有类似统计数据的网站要多。

\n\n

2/ 我无法显示超过 2 天的时间事件,或者它显示一些错误 ^^ (可能需要大时区的数据太多)

\n\n

3/ 如果没有标签,就不要放类别,直接设置nil即可。名字也一样。我认为它们都是可选参数。当您有更多统计数据时,它会减慢分析的显示速度。

\n\n

4/ 对于大数据集,时间事件是根据您的部分访问来计算的。但这现在不应该是您的问题 ^^\n http://support.google.com/analytics/bin/answer.py?hl=en&answer=1042498

\n\n

等2天。如果您仍然看不到任何内容,请尝试联系 Google Analytics 代表。或者冒着“risk\xe2\x80\x9c”照原样提交。

\n\n

我的实现

\n\n

(如果有帮助的话)

\n\n
+ (void)trackGoogleTimingInCategory:(NSString *)category withTimeInterval:(NSTimeInterval)time withName:(NSString *)name withLabel:(NSString *)label {\n\n    //\n    if (![ category isKindOfClass:[ NSString class ] ])\n        return;\n\n    NSLog(@"[%@] %@ time=%f (%@)", category, name, time, label);\n\n    //\n    if (![ name isKindOfClass:[ NSString class ] ])\n        name = nil;\n    if (![ label isKindOfClass:[ NSString class ] ])\n        label = nil;\n\n    //\n    [ [ [ GAI sharedInstance ] defaultTracker ] sendTimingWithCategory:category withValue:time withName:name withLabel:label ];\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

对于时间计算,我以同样的方式进行:

\n\n
NSTimeInterval timeInterval = [ [ NSDate date ] timeIntervalSinceDate:timeStart ];\n
Run Code Online (Sandbox Code Playgroud)\n