2011-03-11 13 views
6

Chciałbym użyć google analytics do śledzenia odsłon i sesji przez niektórych użytkowników. Aby to zrobić, chciałbym (chciałbym) użyć zmiennych niestandardowych, które są obsługiwane przez najnowszą wersję (G1) GANTracker.Zmienne niestandardowe GANTracker for iPhone SDK dają błąd 195946409

w moim appHeader mam ten kod:

[[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-xxxxxxxx-x" 
             dispatchPeriod:10 
              delegate:nil]; 

NSError *error1; 
if(![[GANTracker sharedTracker] setCustomVariableAtIndex:0 
                name:@"userSession" 
                value:@"username" 
                scope:kGANSessionScope 
               withError:&error1]){ 
    NSLog(@"error1 %@", error1); 
} 

NSError *error2; 
if(![[GANTracker sharedTracker] setCustomVariableAtIndex:1 
                name:@"userSession" 
                value:@"username" 
                scope:kGANPageScope 
               withError:&error2]){ 
    NSLog(@"error2 %@", error2); 
} 

przy uruchomieniu aplikacji otrzymuję te błędy:

error1: Error Domain=com.google.googleanalytics.GANTrackerError Code=195946409 "The operation couldn’t be completed. (com.google.googleanalytics.GANTrackerError error 195946409.)" 
error2: Error Domain=com.google.googleanalytics.GANTrackerError Code=195946409 "The operation couldn’t be completed. (com.google.googleanalytics.GANTrackerError error 195946409.)" 

w funkcji, która otwiera stronę Chcę śledzić kładę to :

NSError * error; 
if(![[GANTracker sharedTracker] trackPageview:@"/pagename"] 
            withError:&error]){ 
     NSLog(@"%@", error); 
} 

to zwraca żadnych błędów

Jeśli pominę funkcję setCustomVariableAtIndex, odsłona zostanie zarejestrowana w analizie, ale ze zmiennymi niestandardowymi nic nie otrzymam.

Czy ktoś ma pomysł, w jaki sposób mogę rozwiązać ten problem?

+0

w przypadku niektórych gogli to, jak rozwiązać go (chyba), ustawiając wskaźnik na 1 i 2 zamiast 0 i 1 – Weptunus

Odpowiedz

6

Uderzyłem ten sam problem i natknąłem się na odpowiedź w Google's sample code.

Zmienne niestandardowe powodują błąd w przypadku ustawienia indeksu na zero. Twoja pierwsza zmienna musi użyć indeksu 1. To byłoby zmienić powyższy fragment kodu wyglądać tak ...

[[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-xxxxxxxx-x" 
             dispatchPeriod:10 
              delegate:nil]; 

NSError *error1; 
if(![[GANTracker sharedTracker] setCustomVariableAtIndex:1 
                name:@"userSession" 
                value:@"username" 
                scope:kGANSessionScope 
               withError:&error1]){ 
    NSLog(@"error1 %@", error1); 
} 

NSError *error2; 
if(![[GANTracker sharedTracker] setCustomVariableAtIndex:2 
                name:@"userSession" 
                value:@"username" 
                scope:kGANPageScope 
               withError:&error2]){ 
    NSLog(@"error2 %@", error2); 
} 
+0

udało mi się osiągnąć ten sam (lub bardzo podobny) wynik przez nieumyślne podanie wartości zerowej. –