Configuration

Launching with options

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

!Java

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);
    }
}

!Kotlin

class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        val options : HashMap<String, Any> = hashMapOf(
                Bugsee.Option.MaxRecordingTime to 60,
                Bugsee.Option.ShakeToTrigger to 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, 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);

or stop the events and video recording.

// Stop recording completely.
Bugsee.stop()

Available Options

Key Default value Notes
MaxRecordingTime 60 Maximum recording duration (in seconds)
ShakeToTrigger true Shake gesture to trigger report
NotificationBarTrigger true Trigger report from notification bar
CrashReport true Catch and report application crashes
HandleAnr false Detect 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.
VideoEnabled true Record video. If false, created issues will contain console logs, events and traces, but will not contain video.
ScreenshotEnabled true Attach screenshot to a report. Note, that if VideoEnabled option is false, default value of this option is false too.
ViewHierarchyEnabled true Flag that controls view hierarchy capturing for Bug reports
VideoMode V1 Screen capture mechanism. Video modes comparison is presented below in Video modes comparison section.
VideoScale 1.0 Additional down scaling applied to recorded video, (e.g., 0.5 would reduce both width and height by half).
MonitorNetwork true Monitor network events
RecordHttpBodyWithoutType false Attach 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.
ServiceMode false Should 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.
CaptureLogs true Automatically capture Logcat logs.
LogLevel BugseeLogLevel.Verbose Minimal 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.
MaxDataSize 50 Bugsee 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.
FrameRate FrameRate.High Specifies how often frames are captured. Option has value of com.bugsee.library.data.FrameRate type.
WifiOnlyUpload false Upload reports only when a device is connected to a wifi network.
ReportPrioritySelector false Allow user to modify priority manually when reporting - true to allow, false to disallow.
DefaultCrashPriority IssueSeverity.Blocker Default priority for crashes. Option has value of com.bugsee.library.data.IssueSeverity type.
DefaultBugPriority IssueSeverity.High Default priority for bugs. Option has value of com.bugsee.library.data.IssueSeverity type.
CaptureDeviceAndNetworkNames true Capture device name, wifi SSID and mobile carrier name.
RememberUserDecisionForScreenCapture false Instructs 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.
ReportSummaryRequired false Controls whether "Summary" field in bug reporting UI is mandatory or not.
ReportDescriptionRequired false Controls whether "Description" field in bug reporting UI is mandatory or not.
ReportEmailRequired false Controls whether "Email" field in bug reporting UI is mandatory or not.

Video modes comparison

Mode name Captures SurfaceView (GlSurfaceView, VideoView, MapView, etc.) Captures system views (keyboard, status bar, etc.) Requires user confirmation Minimal supported Android API level
VideoMode.V1 - - - 21
VideoMode.V2** + + + 21
VideoMode.V3*** + - - 24

**VideoMode.V2: On Android 10 it requires FOREGROUND_SERVICE permission. If you want to use that mode, your application will have to declare that permission 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 preemtively disabled there.