Я внедряю Google Analytics SDK в своем приложении для iPhone.Он работал со следующим кодом:
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.
Мой гениальный план состоял в том, чтобы создать 1-й 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 два разных запроса, но, похоже, я не могу вызвать мой метод делегата!Удаление кода второго трекера также не помогает. Я также попытался установить период отправки равным 0 (и -1 при вызове вручную), но мне тоже не повезло с этим…
Итак, мои вопросы: какреализовать 2 учетные записи gAnalytics и как заставить мой метод делегата делать то, что он должен делать - вызывать после dispatch:)
Заранее спасибо, Лука