¿Tendrá Flurry para Android el inicio / fin de balance de llamadas de sesión?

Cada Activity requiere onSessionStart(context, apikey); Y onSessionEnd(context); Y esto está bien para realizar un seguimiento de una sesión durante las actividades. Incluso Fragmentos podría hacer lo mismo, pero cuando un servicio está involucrado (y usted considera que la sesión no se termina mientras el servicio está haciendo cosas), lo que sucederá en el siguiente escenario:

  1. Actividad onStart () -> Flurry Start (Contexto de la actividad)
  2. Servicio onCreate -> Service.SomeActionIsHappening () -> Flurry Start (Contexto de servicio)
  3. Actividad onStop () -> Flurry Stop (Contexto de la actividad)
  4. Servicio todavía en ejecución -> llamadas Service.SomeOtherAction () -> Flurry Start (Contexto de servicio)
  5. Service Ends -> Flurry Stop (Contexto de servicio).

Así que el balance ha sido (en ningún orden):

  1. Comienzo de la actividad.
  2. Final de la actividad.

Esto esta bien. El conteo de inicio / fin de actividad se equilibra a 0.

  1. Inicio del servicio.
  2. Inicio del servicio.
  3. Fin del servicio.

Ahora, ¿necesita llamar al final una cuarta vez para equilibrar las llamadas? (Recuerde que el contexto era el mismo, el servicio llamado iniciar dos veces, pero está llamando al final una vez).

¿O es suficiente (y válido) que Flurry reciba N números de arranques y uno (o más) termine mientras la última llamada del mismo contexto fuera onEndSession?

¿Flurry mantener un recuento de referencia (como Cocoa) o simplemente una lista de contexto?

No he visto documentación relativa a este escenario específico. Toda la documentación dice es esta: (énfasis mío)

Asegúrese de hacer coincidir una llamada a onEndSession para cada llamada de onStartSession , pasando en el mismo objeto Context que se utilizó para llamar a onStartSession. Nota: Siempre y cuando haya algún Contexto que haya llamado onStartSession pero no onEndSession, la sesión continuará. Si un nuevo Contexto invoca onStartSession dentro de los 10 segundos siguientes al último Contexto que invoca onEndSession, se reanudará la sesión, en lugar de crear una nueva sesión. Esto garantiza que a medida que un usuario transita de una actividad a otra en su aplicación, no tendrá una sesión separada rastreada para cada actividad, pero tendrá una sola sesión que abarca muchas actividades.

Pero no está claro qué sucede si las mismas llamadas de contexto comienzan 10 veces …

Según mi experiencia, sí, equilibrará las llamadas. Hace poco cometí errores al enlazar las sesiones de Flurry al servicio de accesibilidad OnCreate / OnDestroy y la sesión nunca terminó, lo que resulta en que no se envía ningún análisis (el servicio de accesibilidad se ejecuta para siempre si el usuario lo habilita)

@ 323go basado en lo que Martin está pidiendo (y responder a él mismo) no es una cuestión de lo completo que es la documentación, en lugar de cómo debemos usar Flurry en un servicio (para mantener o no mantener el inicio / parada equilibrada) No tienen el mismo ciclo de vida como Activies / Fragmento.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.