Skip to main content

Sessions

A session is one period of use of your app on one device. The SDK starts a new session:
  • at every cold start of the app;
  • when the app returns to the foreground after 30 minutes or more in the background;
  • when the current session reaches 4 hours, at the next return to the foreground or the next record after that.
Both durations can be changed per app in the remote configuration. Every record the SDK sends carries its session’s id, so a crash, the requests before it and the screens the user saw line up in one timeline.

How a session ends

Each session sends a small summary when it starts and a final one when its outcome is known: A crashed process cannot report itself, so crashed and abnormal_exit arrive at the next launch. Once a session is crashed or abnormal_exit, a later summary does not change it.

Release health

A release is your app’s version string (CFBundleShortVersionString on iOS). For each app and release, Apsio counts: Abnormal exits are shown next to crashes but do not lower the crash-free rates.

Exact, even when sampled

The session summaries are sent for every session, whatever the sampling rate, and so are crashes and errors. Release health numbers are therefore counted, not estimated.

Users need the installation id

Users are counted with the installation id: a random id per install of your app, reset when the app is reinstalled. When an app turns it off (installationId: false), user numbers are empty and only the session numbers are shown. See Privacy and consent. Read release health with the read API: GET /v1/projects/{projectId}/releases.