2010-10-08 2 views
1

У меня возникли проблемы с настройкой Google Analytics для моего iPhone-приложения. У меня есть сайт, на котором я успешно использую Google Analytics, и поэтому я хорошо знаком с тем, как он работает.iPhone App 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 все еще заявляет, что «отслеживание не установлено».

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

Спасибо!

ответ

3

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

Во-первых, попробуйте добавить

BOOL success = [[GANTracker sharedTracker] dispatch]; 

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

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

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

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

#pragma mark GANTrackerDelegate 

- (void)trackerDispatchDidComplete:(GANTracker *)tracker 
        eventsDispatched:(NSUInteger)eventsDispatched 
       eventsFailedDispatch:(NSUInteger)eventsFailedDispatch { 
    NSLog(@"events dispatched: %d, events failed: %d", eventsDispatched, eventsFailedDispatch); 
} 
+0

Большое спасибо за ваш ответ. Во-первых, я забыл упомянуть, но да, kGANDispatchPeriodSec - это константная переменная, которая установлена ​​в -1. Кроме того, я добавил код успеха и выяснил, что значение «успех» выходит как ДА. Что-то еще не так. Как я могу реализовать GANTrackerDelegate? – CodeGuy

+0

Сначала я сделал эту ошибку. Установка 'dispatchPeriod' в -1 означает, что отправка никогда не произойдет, пока вы не вызовете' dispatch' вручную, поэтому ваши вызовы аналитики никогда не отправлялись. –

+0

Хорошо, я изменил его на положительный 1. Он все еще не работает. Argh. Что еще может быть неправильно? – CodeGuy

Смежные вопросы