Google アナリティクスを使用できる iOS 用のサンプル アプリケーションを作成しようとしています。Google アナリティクスで無料のアカウントを作成し、トラッキング ID を取得して、Google のサンプル「BasicExample」で使用しました (テスト目的のみ)。
アプリケーションを (シミュレーターとデバイスの両方で) 実行しましたが、エラーは発生しませんでしたが、私の Google アナリティクス アカウントでは (2 日経っても) アクティビティが登録されないため、デバッグをオンにして 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");
}
ローカル ネットワークにプロキシがあります。
デリゲートメソッドが呼び出されず、そのことがコンソールに記録される理由を誰かが知っていますか?