我正在尝试为 iOS 创建一个可以使用 Google Analytics 的示例应用程序。我在 Google Analytics 上创建了一个免费帐户,获得了 Tracking ID 并在 Google 的示例“BasicExample”中使用了它(仅用于测试目的)。
我运行了应用程序(在模拟器和设备中)并且没有错误,但是,我的 Google Analytics 帐户没有注册任何活动(即使在两天之后),所以我尝试打开调试并实现 GANTrackerDelegate 方法。
调度跟踪器时,不会调用委托方法,控制台中会记录或多或少类似的内容:
2012-08-17 09:25:53.835 BasicExample[402:707] dispatch called
2012-08-17 09:25:53.839 BasicExample[402:707] dispatching 5 hits
2012-08-17 09:25:53.853 BasicExample[402:707] GET /__utm.gif?utmwv=4.8mi&utmn=20613118&utmcs=UTF-8&utmsr=320x480&utmsc=24-bit&utmul=pt-br&utmp=%2FSUPAPAGE&utmac=UA-34104824-1&utmcc=__utma%3D1.1516748783.1345205912.1345205912.1345205912.1%3B&utmht=1345205912658&utmqt=441194 HTTP/1.1
Host: www.google-analytics.com
User-Agent: GoogleAnalytics/1.4 (iPod touch; U; CPU iPhone OS 5.0.1 like Mac OS X; pt-br)
在此之后,每次再次调度跟踪器时,都会在控制台中记录消息“...调度程序很忙”。而且我的 Google Analytics(分析)帐户没有更新。
这是我的 AppDelegate 代码:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[[GANTracker sharedTracker] setDebug:YES];
[[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-XXXXXXXX-1" dispatchPeriod:5 delegate:self];
NSError* error = nil;
if (![[GANTracker sharedTracker] trackPageview:@"/app_entry_point" withError:&error]) {
NSLog(@"error in trackPageview");
}
[window_ makeKeyAndVisible];
}
- (void)dealloc {
[[GANTracker sharedTracker] stopTracker];
[window_ release];
[super dealloc];
}
- (void)hitDispatched:(NSString *)hitString
{
NSLog(@"foo");
}
- (void)trackerDispatchDidComplete:(GANTracker *)tracker eventsDispatched:(NSUInteger)hitsDispatched eventsFailedDispatch:(NSUInteger)hitsFailedDispatch
{
NSLog(@"bar");
}
我的本地网络上有一个代理。
有人知道为什么委托方法永远不会被调用并且那件事会记录在控制台中吗?