我正在我的 iPhone 应用程序中实现 google Analytics SDK。我让它使用以下代码:
AppDelegate .m :
[[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-xxxxxxx-1"
dispatchPeriod:10
delegate:nil];
if (![[GANTracker sharedTracker] trackPageview:string withError:&error]) {
NSLog(@"Error happened with google analytics tracking 2, %@", error);
}else {
NSLog(@"OK");
}
在我的分析帐户中,我得到了想要的结果。然后我决定(不要问我为什么)也尝试将我的跟踪数据发送到第二个分析帐户。对于好奇的人:一个帐户用于网页和 iPhone 应用程序统计,另一个应该只用于 iPhone。
我巧妙的计划是创建第一个 sharedTracker,调度它,停止它并对第二个做同样的事情:
AppDelegate .h:
@interface AppDelegate : NSObject <UIApplicationDelegate, GANTrackerDelegate>
//implementation
AppDelegate .m:
//1st tracking account
[[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-xxxxxxx-1"
dispatchPeriod:10
delegate:self];
if (![[GANTracker sharedTracker] trackPageview:string withError:&error]) {
NSLog(@"Error happened with google analytics tracking, %@", error);
}else {
NSLog(@"1. GAnalytics: OK");
}
[[GANTracker sharedTracker] stopTracker];
//2nd tracking account
[[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-zzzzzzzz-1"
dispatchPeriod:10
delegate:self];
if (![[GANTracker sharedTracker] trackPageview:string withError:&error]) {
NSLog(@"Error happened with google analytics tracking, %@", error);
}else {
NSLog(@"2. GAnalytics: OK");
}
[[GANTracker sharedTracker] stopTracker];
- (void)trackerDispatchDidComplete:(GANTracker *)tracker
eventsDispatched:(NSUInteger)eventsDispatched
eventsFailedDispatch:(NSUInteger)eventsFailedDispatch{
NSLog(@"For the love of Got, why don't you say something?");
}
我添加了委托方法,以便了解正在调度的内容,并确定 SDK 是否发出了两个不同的请求,但似乎我无法调用我的委托方法!删除第二个跟踪器的代码也无济于事
所以,我的问题是:如何实现 2 个 gAnalytics 帐户以及如何让我的委托方法完成它应该做的事情 - 在调度后被调用 :)
在此先感谢,卢卡