ページ ビューとイベントを追跡するために、iOS アプリに Google アナリティクス SDK をインストールしようとしています。提供されたドキュメントに従ったのですが、追跡がまったく機能していないようで、誰か助けてもらえませんか? 次の情報が関連している可能性があります。できる限り説明するように努めます。
- iOS 4.3 以降のすべてのデバイスをターゲットにしています。
- project-prefix.pch ファイルに GANTracker.h を含めましたが、正常にビルドされます
以下は、didFinishLaunchingWithOptions メソッドで呼び出される appdelegate.m コードのサンプルです。
/* Google Analytics tracking code */
[[GANTracker sharedTracker] setSampleRate:100];
[[GANTracker sharedTracker]setDebug:NO];
[[GANTracker sharedTracker] setDryRun:NO];
[[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-111111-1"
dispatchPeriod:kGANDispatchPeriodSec
delegate:self];
NSLog(@"Dispatch%@", [[GANTracker sharedTracker] dispatch] ? @"ed Successfully": @" Failed");
NSError *error;
if (![[GANTracker sharedTracker] setCustomVariableAtIndex:1
name:@"iPhone"
value:@"iv1"
withError:&error])
{
NSLog(@"There was an error setting this custom variable\n Description: %@\n", [error localizedDescription]);
NSLog(@"Failure reason: %@\n", [error localizedFailureReason]);
NSLog(@"May we suggest: %@\n", [error localizedRecoverySuggestion]);
}
if (![[GANTracker sharedTracker] trackEvent:@"Loading"
action:@"App Finished Launching"
label:@"appDidFinishLaunchingWithOptions"
value:-1
withError:&error])
{
NSLog(@"There was an error in tracking events\n Description: %@\n", [error localizedDescription]);
NSLog(@"Failure reason: %@\n", [error localizedFailureReason]);
NSLog(@"May we suggest: %@\n", [error localizedRecoverySuggestion]);
}
NSString *pageUrlString = [[NSString stringWithFormat:@"http://ios.organisation.tld/appentrypoint"] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
if(![[GANTracker sharedTracker] trackPageview:pageUrlString withError:&error])
{
NSLog(@"There was an error in tracking initial app entry\n Description: %@\n", [error localizedDescription]);
NSLog(@"Failure reason: %@\n", [error localizedFailureReason]);
NSLog(@"May we suggest: %@\n", [error localizedRecoverySuggestion]);
}
私のアプリビューコントローラーでは、ページビューを追跡したいので、次のようにしています:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
NSError *trackError;
NSString *pageUrlString = [[NSString stringWithFormat:@"/aboutsection"] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
if(![[GANTracker sharedTracker] trackPageview:pageUrlString withError:&trackError])
{
//Handle error here
NSLog(@"There was an error tracking this pageview\n Description: %@\n", [trackError localizedDescription]);
NSLog(@"Failure reason: %@\n", [trackError localizedFailureReason]);
NSLog(@"May we suggest: %@\n", [trackError localizedRecoverySuggestion]);
}
}
appdelegate.m に戻ると、次のデリゲートも設定されています。
- (void)trackerDispatchDidComplete:(GANTracker *)tracker eventsDispatched:(NSUInteger)hitsDispatched eventsFailedDispatch:(NSUInteger)hitsFailedDispatch
{
NSLog(@"Google analytics dispatch\n Succeeded?:\n %i, \n Failed?: %i", hitsDispatched, hitsFailedDispatch);
}
これは、Succeeded?: 5 Failed?: 0 のようなログとして記録されるため、失敗は発生しません。
ログメッセージも表示されます...ディスパッチするものはありません。Google アナリティクスにログインしても、アクセスがありません。リアルタイム分析を見ると、何も起こっていないことがわかります。
ここで何か不足していますか?