Core Capability: User Flows Monitoring
User Flows Monitoring Overview
User flows allows developers to track key interactions or user flows in their app such as login, account registration, and in app purchase. By default, the SDK will automatically track application load time as a user flow. You can specify additional user flows by adding a few more lines of code to your application.
A user flow failure rate can be monitored in the Workspace ONE Intelligence portal. Each failed user flow comes with a slew of diagnostics that allow developers to debug why a particular user flow is failing.
Data Reported with User Flows
- The following information is reported with each user flow:
- User flow group name (eg. “user login”)
- Completion state: success and failure (crashed, timed out or declared failure)
- Start time
- Stop time Active time (the time the user flow was running in the foreground)
- Diagnostics which include app version, operating system, device Model, carrier, and more.
User Flows Final States
Each user flow may stop in one of a few possible final states.
- Success. A success state is reached through the end userflow API. Success can be used to denote that a user flow’s goal was accomplished. Calling the end userflow API is required to finish a user flow in a success state.
- Crashed. A crashed state occurs only if the app crashes while the user flow is in progress. During a crash, Apteligent automatically marks all started user flows as crashed, and reports the user flows to Apteligent. On the Apteligent portal, users may view which crashes impacted a user flow.
- User-defined failures. A failed state that is reached through the fail user flow API. Failed can be used to denote that a user flow’s goal was not accomplished. Calling the fail user flow API is required to finish a user flow in a failed state. Example: If a user does not allow your photo-sharing app to access the phone’s camera during onboarding, you may wish to declare the onboarding user flow you’ve defined as failed Once a user flow has stopped in a final state, the state can no longer be changed.
User Flows Traces
Every successful and non-successful user flow is reported with a log of events that occurred while the user flow was in progress. User flows traces can be used by developers to diagnose why a user flow was successful or why it's failing. The events collected include Breadcrumbs left by the developer, important system events that may have impacted the user flow. The following system breadcrumbs are captured automatically by Apteligent:
- Network connectivity gained / lost
- Network connection type changes (eg. wireless to wifi)
- App backgrounds
- App foregrounds
- Crash name and reason