Запуск и закрытие сеанса Flurry

Я смотрел некоторые другие вопросы здесь, но я действительно не понимаю некоторых причин.

У меня есть приложение с большим количеством действий и ключ API аналитики Flurry. Я хочу, чтобы шквал сеанса был целым сеансом, в то время как люди рекомендуют начинать и останавливать сеансы в каждом действии. Однако это приведет к 50 сессиям шквала за реальную сессию.

Я использую метод onStartSession() для входа в систему и onStop при выходе из системы. И у меня проблемы с регистрируемыми событиями, похоже, он их пропускает.

Есть идеи по этому поводу?


person JesusS    schedule 26.02.2013    source источник


Ответы (2)


Вы можете совершать вызовы для запуска и завершения сеанса для каждого действия в вашем приложении. Обратите внимание, что вызов завершения сеанса должен совпадать с каждым вызовом запуска сеанса. Если вызов для начала сеанса сделан в течение 10 секунд после предыдущего вызова завершения сеанса, сеанс будет возобновлен. Продолжительность сеанса, частота использования, события и ошибки будут по-прежнему отслеживаться в рамках одного и того же сеанса. Это гарантирует, что при переходе пользователя от одного действия к другому в вашем приложении у него не будет отслеживаться отдельный сеанс для каждого действия, а будет один сеанс, охватывающий множество действий. Вы можете изменить значение по умолчанию, равное 10 секундам, с помощью вызова FlurryAgent.setContinueSessionMillis(long milliseconds). Обратите внимание, что минимальное время ожидания составляет 5 секунд в случае Android.

(Полное раскрытие: я работаю в Flurry)

person Aman Bansal    schedule 27.02.2013
comment
Большое тебе спасибо! Я использовал onStart и onEnd в действиях, но только в определенных, поэтому сеансы прерывались из-за бездействия более 10 секунд. - person JesusS; 28.02.2013

Вам нужен сеанс Flurry, который содержится в жизненном цикле Activity.

Я мог видеть, что вы избегаете дублирования кода, создавая подкласс класса Activity и переопределяя обратные вызовы, когда сеансы Flurry должны запускаться и останавливаться, а затем все ваши действия будут подклассом этого нового подкласса Activity.

Другим вариантом было бы просто иметь одно высокоуровневое действие, в котором вы запускаете / останавливаете шквал, а затем перемещаете остальную часть своей функциональности из действий во фрагменты.

person Brent Hronik    schedule 26.02.2013
comment
Так что я не могу просто игнорировать onEndSession между действиями? Моя структура приложения содержит подкласс BaseActivity с расширениями от активности, но использование этого приводит к большому количеству сеансов в одном реальном (сеанс новый при каждом изменении активности) - person JesusS; 26.02.2013
comment
Нет, к сожалению, вы не можете игнорировать их. - person Brent Hronik; 26.02.2013