Я впервые реализую базовую статистику использования в приложении для Android / iOS с помощью Firebase Analytics, но документы кажутся мне немного неоднозначными относительно того, как именно рассчитывается продолжительность сеанса и как истекает время ожидания сеансов, а также 24-часовой цикл для просмотра результатов не помогает в понимании методом проб и ошибок.
На данный момент меня интересует только очень простая статистика - время, которое пользователи проводят в приложении. Что именно происходит, когда приложение «свернуто» / «в фоновом режиме» - считается ли это активным использованием или таким же, как закрываемое приложение - сейчас не так важно, но если вам есть что добавить в этом отношении в контекст вопроса, пожалуйста.
Насколько я понимаю, такая простая статистика, вероятно, должна быть доступна прямо из коробки с Firebase Analytics, поэтому в настоящее время я не использую никаких настраиваемых событий или чего-либо более интересного, чем просто привязка Firebase Analytics к проектам, добавление файлов конфигурации, и вызов FirebaseAnalytics.getInstance (this); на Android и [настройка FIRApp]; на iOS.
Я вижу, как события first_open, session_start и app_remove отображаются в консоли, как и ожидалось, некоторые совокупные данные сеанса на панели управления и т. Д., И я также знаю, что доступен настраиваемый тайм-аут сеанса.
Но что мне неясно, так это то, когда именно истекает срок действия пользовательского сеанса - Firebase автоматически сохраняет его открытым, пока приложение открыто, или мне нужно обязательно публиковать какие-то искусственные события "keep-alive", чтобы предотвратить пользователя сеансы не истекают, пока пользователь все еще использует приложение.
Предполагая следующее:
- Я не отправляю явных настраиваемых событий с помощью Firebase, поскольку это явно не требуется для приложения.
- Я касаюсь Firebase только один раз за один запуск приложения - инициализирую его при запуске.
- Пользователь остается в приложении в течение длительного времени (скажем, 2 часа - намного дольше, чем 30-минутный тайм-аут сеанса по умолчанию), не взаимодействуя с ним - например, читая что-то, просматривая видео и т. д., ни одно из этих действий не генерирует никаких событий, которые может видеть Firebase, но приложение предотвращает блокировку экрана, приложение остается на переднем плане.
Будет ли это считаться одним двухчасовым сеансом для пользователя? Будет ли он считаться 30-минутным сеансом, поскольку сеанс истекает через 30 минут и не генерируются никакие события, чтобы поддерживать его в рабочем состоянии? Что-нибудь еще случится?
Дополнительный вопрос: что произойдет, если пользователь выйдет из приложения на время короче / дольше тайм-аута сеанса?
Бонусный бонусный вопрос: что-то изменится, если вместо выхода из приложения оно просто переведено в фоновый режим?
Спасибо!