2010-10-08 12 views
1

Je rencontre des problèmes lors de la configuration de Google Analytics pour mon application iPhone. J'ai un site Web sur lequel j'ai utilisé Google Analytics avec succès, et je connais donc très bien son fonctionnement.Application iPhone Google Analytics

J'ai mis en place un nouveau faux domaine avec la formation suivante: myapp.monsite.com. J'ai obtenu l'ID UA qui a été fait et utilisé comme indiqué ci-dessous.

Dans mon application iPhone de la méthode "didfinishlaunching", je le code suivant:

[[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"); 
} 

où UA-XXXXXXXX-X est rempli avec mon ID.

J'installe l'application sur mon téléphone, j'exécute l'application pendant plus de 20 minutes, et Google Analytics indique toujours que "le suivi n'est pas installé".

Quel est le problème ici?

Merci!

Répondre

3

Voici quelques choses à essayer:

Tout d'abord, essayez d'ajouter

BOOL success = [[GANTracker sharedTracker] dispatch]; 

à la fin de votre code et tester la valeur de la réussite.

Deuxièmement, je ne vois pas kGANDispatchPeriodSec défini dans GANTracker.h. Est-ce un const que vous créez? Passez un 0 comme dispatchPeriod à la place afin que les expéditions soient envoyées immédiatement au lieu d'être groupées. (Vous voudrez changer cela avant de soumettre votre application.)

Enfin, implémentez GANTrackerDelegate sur votre classe et voyez ce qui se passe dans l'appel trackerDispatchDidComplete:eventsDispatched:eventsFailedDispatch. Cela vous dira si vos appels de dispatch échouent, mais malheureusement ne vous dira pas pourquoi.

Voir this link pour l'adoption d'un protocole sur votre classe. Dans votre fichier .m, ajoutez ce qui suit:

#pragma mark GANTrackerDelegate 

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

Merci beaucoup pour votre réponse. Premièrement, j'ai oublié de mentionner, mais oui, kGANDispatchPeriodSec est une variable const qui est définie sur -1. En outre, j'ai ajouté le code de succès et s'avère que la valeur pour "succès" est en train de devenir OUI. Quelque chose ne va pas. Comment est-ce que je peux implémenter le GANTrackerDelegate? – CodeGuy

+0

J'ai fait cette erreur au début. Définir 'dispatchPeriod' sur -1 signifie que la répartition n'aura lieu que lorsque vous appellerez' dispatch' manuellement, de sorte que vos appels d'analyse ne seront jamais envoyés. –

+0

D'accord, j'ai changé le positif 1. Cela ne fonctionne toujours pas. Argh. Quoi d'autre pourrait-être faux? – CodeGuy