9

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

 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");   
 }

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

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

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

4

5 回答 5

22

我发现间隔必须是整数。它期望毫秒,但 NSTimeInterval 是秒,因此它尝试将其作为“3.1234”发送,但如果将其转换为整毫秒,它将作为 3123 发送,您应该会看到结果。转换我使用(GA V3)

[tracker send:[[GAIDictionaryBuilder createTimingWithCategory:category interval:@((int)(interval * 1000)) name:name label:label] build]]
于 2013-11-21T16:07:48.420 回答
1

您是否碰巧在 GA 仪表板中看到了实时数据选项卡???它们显示最近 30 分钟的使用数据。稍后它会在您的 Google 分析仪表板中更新。我曾使用 Flurry、Google 分析,我发现 GA 更好更快。继续尝试!!!。

于 2013-02-22T05:33:53.457 回答
0

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

我可以告诉你的是:

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

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

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

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

等待 2 天。如果您仍然没有看到任何内容,请尝试联系谷歌分析代表。或者冒着“风险”按原样提交。

我的实现

(以防万一)

+ (void)trackGoogleTimingInCategory:(NSString *)category withTimeInterval:(NSTimeInterval)time withName:(NSString *)name withLabel:(NSString *)label {

    //
    if (![ category isKindOfClass:[ NSString class ] ])
        return;

    NSLog(@"[%@] %@ time=%f (%@)", category, name, time, label);

    //
    if (![ name isKindOfClass:[ NSString class ] ])
        name = nil;
    if (![ label isKindOfClass:[ NSString class ] ])
        label = nil;

    //
    [ [ [ GAI sharedInstance ] defaultTracker ] sendTimingWithCategory:category withValue:time withName:name withLabel:label ];

}

对于时间计算,我也是这样做的:

NSTimeInterval timeInterval = [ [ NSDate date ] timeIntervalSinceDate:timeStart ];
于 2013-02-19T09:43:52.620 回答
0

您必须等待至少 24 小时才能在您的 Google Analytics(分析)仪表板中提供数据,除非您拥有 GA 高级帐户:

http://www.google.com/analytics/premium/features.html

于 2013-06-21T01:42:41.223 回答
0

我在 iOS 上的 Xamarin 的 Google Analytics 组件遇到了同样的问题,但是使用NSNumber.FromInt32让它工作:

var start = DateTime.Now;

// do operation

var finish = DateTime.Now;
var timeElapsed = finish.Subtract (start);

GAI.SharedInstance.DefaultTracker
    .Send(GAIDictionaryBuilder.CreateTiming(
            "Storage", 
            NSNumber.FromInt32((int)timeElapsed.TotalMilliseconds), 
            "LoadItems", null)
        .Build());
于 2015-06-09T06:01:35.533 回答