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 iOS SDK version 12.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.
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.enabled = true //Enabled SessionReplay.enabled = false //Disabled
IBGSessionReplay.enabled = YES; //Enabled IBGSessionReplay.enabled = NO; //Disabled
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.
SessionReplay.networkLogsEnabled = true //Enabled SessionReplay.networkLogsEnabled = false //Disabled
IBGSessionReplay.networkLogsEnabled = YES; //Enabled IBGSessionReplay.networkLogsEnabled = NO; //Disabled
SessionReplay.IBGLogsEnabled = true //Enabled SessionReplay.IBGLogsEnabled = false //Disabled
IBGSessionReplay.IBGLogsEnabled = YES; //Enabled IBGSessionReplay.IBGLogsEnabled = NO; //Disabled
SessionReplay.userStepsEnabled = true //Enabled SessionReplay.userStepsEnabled = false //Disabled
IBGSessionReplay.userStepsEnabled = YES; //Enabled IBGSessionReplay.userStepsEnabled = NO; //Disabled
Screenshots are enabled by default; however, you can change the level of masking using the Auto Masking feature.
Instabug.setReproStepsFor(.all, with: .enable)
[Instabug setReproStepsFor:IBGIssueTypeAll withMode:IBGUserStepsModeEnable];
- 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.
Enable auto-masking with different levels like masking all text, masking images, or masking everything. You can find more details about auto-masking here.
Set certain screens as private and any private view will automatically appear with a black overlay covering it in any screenshot. You can find more details about private views here.
To obfuscate parts of a network request prior to sending it to the dashboard, you can follow the below steps found here.
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 User termination 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 user terminations. This can help you identify sessions that require your attention.
With each session, Instabug captures detailed information about the session itself. Below is the list of session related details that Instabug captures:
- Session duration
- App version
- OS version
- User ID (if provided)
- Username (if provided)
- Bundle ID
- Device location
A timeline from the beginning to the end of the session which 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 taken throughout the session whenever there is a change in the UI.
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, non-fatals.
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.
We currently support session replay for foreground sessions only.
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 1 day ago