2012-03-27 9 views

Respuesta

13

Cuando su aplicación entra en modo de fondo que tiene que decir a los análisis para detener el seguimiento.

Aplicación Delegado tendría algo como:

-(void) applicationDidEnterBackground:(UIApplication*)application 
{ 
[[GANTracker sharedTracker] stopTracker]; 
} 

En Easy Tracker ejemplo de Google, un controlador de vista recibe notificaciones cuando cambia el estado de la aplicación. El seguimiento se detiene cuando la aplicación entra en el fondo (Alrededor de la línea 400).

if ([application applicationState] == UIApplicationStateBackground) { 
    if (self.state == EasyTrackerStateForeground) { 
     // Transitioned from foreground to background. Generate the app stop 
     // event, and stop the tracker. 
     NSLog(@"Transitioned from foreground to background."); 
     NSError *error = nil; 
     if (![[GANTracker sharedTracker] trackEvent:@"" 
              action:@"" 
              label:@"" 
              value:0 
             withError:&error]) { 
     NSLog(@"Error tracking foreground event: %@", error); 
     } 
     // TODO(fmela): make this time period a constant. 
     if (![[GANTracker sharedTracker] dispatchSynchronous:2.0]) { 
     NSLog(@"Synchronous dispatch on background failed!"); 
     } 
     [[GANTracker sharedTracker] stopTracker]; 
    } 
    self.state = EasyTrackerStateBackground; 
    } 
+0

Hola, ¿estás seguro de que esto está terminando la sesión como lo ve GA? –

+0

Lo sentimos, presiona enter en lugar de shift + enter. Este es el resto: Tengo una aplicación de prueba y he activado el modo de depuración y estoy viendo los hits de envío. Así que mi flujo de aplicaciones se ve así: Inicio la aplicación y disparo una vista de página. Presiono el botón de inicio y envío la aplicación al fondo. Toco el icono de la aplicación y vuelvo a poner la aplicación en primer plano, y cuando lo hago disparo un evento. Éstos son los bits __utma de mis éxitos __utm.gif: Vista página: 1.334475189.1334947296.1334956043.1334956141.13 evento: 1.334475189.1334947296.1334956141.1334956163.14 El recuento se incrementa vista aquí. ¿No debería ser 1? –

+0

*** método stopTracking *** en *** applicationDidEnterBackground *** no está terminando la sesión en mi caso, estoy usando ARC en mi proyecto y no puedo usar el método dealloc como en el ejemplo GA. No hay otra manera de terminar la sesión? –

-2

para terminar la sesión cuando la aplicación va a fondo, utilice

applicationWillResignActive 

y tal vez poner sobre: ​​blanco o algo en la vista web. (suposición;))

guardar la posición y vuelva a cargarlo en

applicationDidBecomeActive 

o leer más here

+1

Las suposiciones no pertenecen a las respuestas; además, esta pregunta es sobre cómo detener el rastreador en una aplicación, no en una vista web. Además, el usuario está buscando específicamente el comando para poner 'applicationWillResignActive' para detener el rastreador. – tkone

Cuestiones relacionadas