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

Note, that not all of the following options will work in an Instant App. Specifically, NotificationBarTrigger, UseSdCard, 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
UseSdCard true By default Bugsee saves its data to SD card (if ServiceMode option is not enabled). When set to false, internal app storage will be used. If your app does not require external storage, you might want to disable 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.
ExtendedVideoMode false If true, MediaProjection API is used, while recording video. In this case all types of views are recorded, but user is asked to allow video recording. If false, view drawing cache is used to capture the screen. In this case user is not asked to allow video recording, but frame rate is lower and some special views like status bar, soft keyboard and views, which contain Surface (MapView, VideoView, GlSurfaceView, etc.) are not recorded. Option has no effect, if VideoEnabled option is set to false.
VideoMode V1 Screen capture mechanism. This option will replace ExtendedVideoMode in future releases. Gives an access to an experimental V3 mode, which can record views with Surface (MapView, VideoView, GlSurfaceView, etc.) and doesn't require user confirmation to start recording. 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.

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 Works on Samsung devices
VideoMode.V1 - - - 21 +
VideoMode.V2 + + + 21 +
VideoMode.V3 + - - 24 -

Video mode is switched from VideoMode.V3 to VideoMode.V1 on Samsung devices automatically, because VideoMode.V3 usage on Samsung devices is known to lead to critical problems.