Session Lifecycle¶
iOS/Android¶
We regard your app's lifecycle from its start-up until it goes to the background as session. Every tracked data belongs to one of the sessions.
Period of session¶
The period of session depends on the end users' behavior; however, there is no systematical limit to it.
The beginning of session¶
There are two cases that a session begins.
When the app starts as the initial state¶
The following cases count as a first time app launch:
The app has not been launched since the device booted up.
The app was intentionally terminated from "recently used apps" by the user.
The app was terminated by the system.
In above cases, the session begins after you call setup
. When setup
is called, SDK will communicate with Repro's server and receive the configuration for tracking, in-app messages and so on. The session begins when Repro is activated in configuration.
When the app resumes from background¶
The app resumes when the user runs the app from "currently used apps" before the system has terminated it.
In that case, AppDelegate::applicationDidFinishLaunching:
(iOS) or Application#onCreate
(Android) won't be called so setup
won't be called either, but the SDK will detect an app launch and start a new session automatically.
The end of session¶
The session ends when the app goes to the background by the end user pushing the home button or launching another app from notification center.
Additionally, the session won't stop even if the end user opens the control center or the notification center.