Session Replay for Flutter
If you're already using Instabug, but Session Replay isn't included in your current plan, please reach out to us at [email protected]. We would love to enable a custom trial for you and help you set it up.
Min Required SDK Version
Session Replay is supported starting Flutter SDK version 12.1.0.
Session Replay Footprint
We're taking several measures to make sure Instabug Session Replay is resource-friendly. To minimize its impact on the device's battery and data consumption:
- The SDK collects your performance data and sends it in batches, at most, once every 6 hours.
- The SDK doesn't perform any network operations while the app is in the background.
- This means data collected is sent to the server at the beginning of a session if the last server communication took place more than 6 hours ago.
Data Retention
Data retention period changes from plan to plan and can be checked here. This is customizable on the Enterprise plan.
Enabling/Disabling Session Replay
Instabug's Session Replay can be disabled with the following method. This will completely prevent any session replay data from being sent to your dashboard. By default, Session Replay is enabled if it is available in your current plan.
SessionReplay.setEnabled(true); // Enabled
SessionReplay.setEnabled(false); // Disabled
Logs
All logs are enabled by default but can be manually disabled/enabled using the below APIs. More details about each log type can be found here.
Network
SessionReplay.setNetworkLogsEnabled(true); // Enabled
SessionReplay.setNetworkLogsEnabled(false); // Disabled
Instabug Logs
SessionReplay.setInstabugLogsEnabled(true); // Enabled
SessionReplay.setInstabugLogsEnabled(false); // Disabled
User Steps
SessionReplay.setUserStepsEnabled(true); // Enabled
SessionReplay.setUserStepsEnabled(false); // Disabled
Screenshots
Session replay is by default enabled with screenshots, for more info about the API itself check how to enable or disable repro steps for Flutter here.
Instabug.setReproStepsConfig(sessionReplay: ReproStepsMode.enabled);
Adjusting the
setReproStepsConfig
method'ssessionReplay
parameter could affect previous configurations and unspecified parameters will revert back to the default values. For more information, please check the example here.
Limits
- Each session contains up to 2MB of compressed logs and 2MB of compressed screenshots.
- Instabug saves sessions up to 50MB worth of data. (for multiple sessions)
- Data is sent through requests with a maximum of 1MB per request.
Privacy options
Private Views
Set certain screens as private, and they will automatically appear with a black overlay covering any screenshot. You can find more details about private views here.
Network Logs Masking
To obfuscate parts of a network request prior to sending it to the dashboard, you can follow the below steps found here.
Features
Sessions List
Sessions are sorted chronologically by default. You’ll see the following information for each session:
- Session Type: Any session that ends with a fatal crash or OOM is flagged as a crashing session. Any session that is affected by an App hang or a Force Restart is flagged as a frustrating session. Otherwise, a bucket is defined based on all the other metrics and occurrences (app launch, app traces, network, and UI hangs) that happened within the session. More examples can be found here.
- Duration: The length of the replay.
- App Version: The app version the user was on during the session.
- OS: The OS version the device was on during the session.
- Date: of when the session has occurred.
- Session Issues: The issues that happened during the session. These include crashes, app hangs, slow app launches, screen loadings, or execution traces, as well as Force Restarts. This can help you identify sessions that require your attention.
Session Details
With each session, Instabug captures detailed information about the session itself. Below is the list of session-related details that Instabug captures:
- Date
- Session duration
- App version
- Device
- OS version
- User ID (if provided)
- Username (if provided)
- Locale
- Bundle ID
- Device location
Timeline
A timeline from the beginning to the end of the session visually highlights performance and stability issues that happen over the course of the replay. Users can easily move to the point on the timeline where they want to start debugging. It also visually shows the duration of the session.
Screenshots
Screenshots are taken throughout the session whenever there is a change in the UI.
Logs
A whole host of logs are sent with every session. These logs include:
- Instabug Logs: Logs with different verbosity levels that you can add manually.
- User Steps: Every step the user has taken in the form of log entries.
- Network Logs: A log of each network request.
- Crashes: If you have Instabug’s Crash Reporting enabled, you'll be able to see all the crash metrics that happen within the session, including fatal crashes, ANRs, and non-fatals.
Session Definition
A session starts when the app is brought into the foreground and ends when it moves to the background or when it's terminated either by the OS or the user.
Foreground Only
We currently support session replay for foreground sessions only.
User Identification
In order to find sessions by searching for specific users, make sure you use our user identification API. More details about the user identification API can be found here.
Updated 6 months ago