Приложение для iPhone Google Analytics - PullRequest
1 голос
/ 08 октября 2010

У меня проблемы с настройкой Google Analytics для моего приложения iPhone. У меня есть веб-сайт, на котором я успешно использую Google Analytics, и поэтому я довольно хорошо знаю, как он работает.

Я создал новый поддельный домен со следующим формированием: myapp.mysite.com. Я получил идентификатор UA, который был сделан, и использовал его, как показано ниже.

В методе "didfinishlaunching" моего приложения для iPhone у меня есть следующий код:

[[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-XXXXXXXX-X"
                                       dispatchPeriod:kGANDispatchPeriodSec
                                             delegate:nil];
NSError *error;
if (![[GANTracker sharedTracker] trackEvent:@"test" action:@"my_action" label:@"my_label" value:-1 withError:&error]) {
        NSLog(@"error ocurred");
}

, где UA-XXXXXXXX-X заполнен моим ID.

Я устанавливаю приложение на телефон, запускаю приложение более 20 минут, и Google Analytics по-прежнему заявляет, что «отслеживание не установлено».

Что здесь не так?

Спасибо!

1 Ответ

3 голосов
/ 08 октября 2010

Вот несколько вещей, которые можно попробовать:

Сначала попробуйте добавить

BOOL success = [[GANTracker sharedTracker] dispatch];

до конца вашего кода и проверки значения успеха.

Во-вторых, я не вижу kGANDispatchPeriodSec, определенный в GANTracker.h. Это const, который вы создаете? Вместо этого передайте 0 как dispatchPeriod, чтобы отправки отправлялись немедленно, а не в пакетном режиме. (Вы можете изменить это, прежде чем отправлять приложение.)

Наконец, внедрите GANTrackerDelegate в своем классе и посмотрите, что происходит в вызове trackerDispatchDidComplete:eventsDispatched:eventsFailedDispatch. Это сообщит вам, если ваши диспетчерские вызовы не удаются, но, к сожалению, не скажет вам, почему.

См. эту ссылку о принятии протокола в вашем классе. В вашем .m файле добавьте следующее:

#pragma mark GANTrackerDelegate

- (void)trackerDispatchDidComplete:(GANTracker *)tracker
                  eventsDispatched:(NSUInteger)eventsDispatched
              eventsFailedDispatch:(NSUInteger)eventsFailedDispatch {
    NSLog(@"events dispatched: %d, events failed: %d", eventsDispatched, eventsFailedDispatch);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...