Skip to main content

Configuration

Launching with options

Bugsee behavior is very customizable. If the default configuration does not satisfy your needs, you can launch the SDK with additional parameters passed as a dictionary.

public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
HashMap<String, Object> options = new HashMap<>();
options.put(Bugsee.Option.MaxRecordingTime, 60);
options.put(Bugsee.Option.ShakeToTrigger, false);
Bugsee.launch(this, "<your_app_token>", options);
}
}

Alternatively, parameters can be passed as LaunchOptions class instance.

public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
LaunchOptions options = new LaunchOptions();
options.Video.setMaxRecordingTime(60);
options.General.setShakeToTrigger(false);
Bugsee.launch(this, "<your_app_token>", options);
}
}

Note that not all of the following options will work in an Instant App. Specifically, the NotificationBarTrigger, VideoEnabled, and CaptureLogs options are always set to false for an Instant App.

Stop, Relaunch

It is also possible to relaunch Bugsee with other options later.

// Relaunch with other options.
HashMap<String, Object> options = new HashMap<>();
// Set other launch options.
//...
Bugsee.relaunch(options);

Alternatively, you can stop the events and video recording.

// Stop recording completely.
Bugsee.stop();

Available Options

KeyDefault valueNotes
MaxRecordingTime60Maximum recording duration (in seconds)
ShakeToTriggertrueShake gesture to trigger report
NotificationBarTriggertrueWhen enabled, a sticky system notification will be shown once Bugsee is launched. When tapped, this notification will bring up the built-in Bugsee bug reporting UI.

It gets hidden when Bugsee is stopped, application is minimized, or built-in Bugsee bug reporting UI is being displayed.

Starting with API 33 (TIRAMISU) the POST_NOTIFICATIONS permission is required for this feature to work.
ScreenshotToTriggerfalseTrigger bug report by taking screenshot on device.

Bugsee Android SDK 5.0.0 and up.

This feature requires additional permissions:
Android 14+: DETECT_SCREEN_CAPTURE permission is required. More details about the permission and the native API involved in Android development documentation.

Android 13: READ_MEDIA_IMAGES permission is required.

Android 12 and below: READ_EXTERNAL_STORAGE permission is required.

On Android 13 and below, Bugsee SDK monitors the gallery to detect screenshot creation and that's why the permissions mentioned above are required.
CrashReporttrueCatch and report application crashes
NdkCrashReportfalseCatch and report application crashes in native code. This is an experimental feature. Care should be taken when using it in production builds. Learn more about NDK crashes symbolication and its requirements.
HandleAnrfalseDetect ANR (Application Not Responding) and transform it to a meaningful exception. Note: option is experimental and it is not recommended to use it in production builds.
DetectAppExitfalseDetect any kind of process termination (e.g. when user swipes off the application from multitasking UI, or when system unloads the app due memory pressure). Special error report is generated for this scenario with "BugseeAppExit" domain
VideoEnabledtrueRecord video. If false, created issues will contain console logs, events and traces, but will not contain video.
ScreenshotEnabledtrueAttach screenshot to a report. Note that if the VideoEnabled option is false, the default value of this option is false as well.
ViewHierarchyEnabledtrueFlag that controls view hierarchy capturing for Bug reports
VideoModeV3Screen capture mechanism. Video modes comparison is presented below in Video modes comparison section.
VideoScale1.0Additional down scaling applied to recorded video, (e.g., 0.5 would reduce both width and height by half).
MonitorNetworktrueMonitor network events
RecordHttpBodyWithoutTypefalseAttach http request / response body, which has no declared content type, to a report. If false, only textual body is attached to a report. Option has no effect if MonitorNetwork option value is false.
MaxNetworkBodySize20480The maximal size of network request/response body (in bytes).
ServiceModefalseShould be used, when Bugsee is launched from service. If true, video is not recorded and recording is not stopped, when app goes to background; ShakeToTrigger and NotificationBarTrigger options are set to false automatically.
CaptureLogstrueAutomatically capture Logcat logs.
LogLevelBugseeLogLevel.VerboseMinimal log level of Logcat messages, which will be attached to reports. Option has no effect if CaptureLogs option is false. Option has value of com.bugsee.library.events.BugseeLogLevel type.
MaxDataSize50Bugsee will avoid using more disk space than specified (in MB). If total Bugsee data size exceeds specified value, oldest recordings (even not sent) will be removed. Value should not be smaller than 10.
FrameRateFrameRate.HighSpecifies how often frames are captured. Option has value of com.bugsee.library.data.FrameRate type.
WifiOnlyUploadfalseUpload reports only when a device is connected to a wifi network.
ReportPrioritySelectorfalseAllow user to modify priority manually when reporting - true to allow, false to disallow.
DefaultCrashPriorityIssueSeverity.BlockerDefault priority for crashes. Option has value of com.bugsee.library.data.IssueSeverity type.
DefaultBugPriorityIssueSeverity.HighDefault priority for bugs. Option has value of com.bugsee.library.data.IssueSeverity type.
CaptureDeviceAndNetworkNamestrueCapture device name, wifi SSID and mobile carrier name.
RememberUserDecisionForScreenCapturefalseInstructs Bugsee SDK to remember the choice user has made when permission dialog was shown for VideoMode.V2. To reset the remembered choice, use Bugsee.resetVideoCapturePermissionDecision() method.
ReportSummaryRequiredfalseControls whether "Summary" field in bug reporting UI is mandatory or not.
ReportDescriptionRequiredfalseControls whether "Description" field in bug reporting UI is mandatory or not.
ReportEmailRequiredfalseControls whether "Email" field in bug reporting UI is mandatory or not.
ReportLabelsEnabledfalseDisplay labels field in the built-in bug reporting UI
ReportLabelsRequiredfalseControls whether "Labels" field in bug reporting UI is mandatory or not.

Built-in reporting UI adjustments

Alongside stylistic changes, you can also change the placeholders' texts shown in input controls within the built-in bug reporting UI

Bugsee.getAppearance().ReportSummaryPlaceholder = "What's happened? Only shortly";
Bugsee.getAppearance().ReportDescriptionPlaceholder = "Here, describe all the pains and frustrations you had. In details";
Bugsee.getAppearance().ReportEmailPlaceholder = "Identify yourself here";
Bugsee.getAppearance().ReportLabelsPlaceholder = "Labels.For.Developers. [Comma separated]";

Video modes comparison

Mode nameSurfaces (GlSurfaceView, VideoView, MapView, etc.)System views (keyboard, status bar, etc.)User consentRequired Android API
VideoMode.V1---21
VideoMode.V2**+++21
VideoMode.V3***+--24

**VideoMode.V2: Starting Android 9 it requires FOREGROUND_SERVICE permission. Starting Android 14 it requires additional FOREGROUND_SERVICE_MEDIA_PROJECTION permission. If you want to use V2 mode, your application will have to declare these permissions in manifest.

***VideoMode.V3: On Samsung devices, VideoMode.V3 will work only on Android 8 and up. Earlier versions of Android on Samsung devices are known to have issues when VideoMode.V3 is being used and hence it preemptively disabled there.