Configuration

Launching with options

iOS/iPadOS: Make sure you launch your app with Bugsee on a real device. Underlying Bugsee iOS SDK does not work in simulator as it heavily depends on the hardware.

Bugsee behavior is very customizable, if default configuration is not satisfying your needs you can launch the SDK with additional parameters. Use instance of IOSLaunchOptions or AndroidLaunchOptions for corresponding platform to change Bugsee behavior.

Example:

BugseeLaunchOptions? createLaunchOptions() {
  if (Platform.isAndroid) {
    var options = AndroidLaunchOptions();
    // You can set Android-specific options here
    return options;
  }

  if (Platform.isIOS) {
    var options = IOSLaunchOptions();
    // You can set iOS-specific options here
    return options;
  }

  return null;
}

Future<void> launchBugsee(
    void Function(bool isBugseeLaunched) appRunner) async {
  var launchOptions = createLaunchOptions();

  // Set all the required launch options to the desired state
  launchOptions?.videoEnabled = true;
  launchOptions?.wifiOnlyUpload = true;
  launchOptions?.viewHierarchyEnabled = false;

  await Bugsee.launch(getApplicationToken(),
      appRunCallback: appRunner, launchOptions: launchOptions);
}

String getApplicationToken() {
  return Platform.isAndroid
      ? '<android-app-token>'
      : (Platform.isIOS ? '<ios-app-token>' : '');
}

Future<void> main() async {
  // This is required to let Bugsee intercept network requests
  HttpOverrides.global = Bugsee.defaultHttpOverrides;

  await launchBugsee((bool isBugseeLaunched) async {
    runApp(const MyApp());
  });
}

Available Options

For iOS

Key Default Notes
captureLogs true Automatically capture all console logs
crashReport true Catch and report application crashes (*)
defaultBugPriority BugseeSeverityLevel.high Default priority for bugs
defaultCrashPriority BugseeSeverityLevel.blocker Default priority for crashes
killDetection false Detect abnormal termination (experimental, read more)
maxRecordingTime 60 Maximum recording duration
monitorNetwork true Capture network traffic
reportPrioritySelector false Allow user to modify priority when reporting manual
screenshotToReport true Screenshot key to trigger report
shakeToReport false Shake gesture to trigger report
style Default Enumeration of Default, Dark and BasedOnStatusBar
videoEnabled true Enable video recording
videoScale 1.0 Custom video scale
frameRate BugseeFrameRate.high Specifies how often frames are captured
screenshotEnabled true Attach screenshot to a report
wifiOnlyUpload false Upload reports only when a device is connected to a WiFi network
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
captureDeviceAndNetworkNames false Capture device name, wifi SSID and mobile carrier name.

For Android

Key Default Notes
captureLogs true Automatically capture all console logs
crashReport true Catch and report application crashes
defaultBugPriority BugseeSeverityLevel.high Default priority for bugs
defaultCrashPriority BugseeSeverityLevel.blocker Default priority for crashes
videoMode BugseeVideoMode.v3 Video capture mechanism to use
frameRate BugseeFrameRate.high Specifies how often frames are captured
maxDataSize 50 Maximum disk space consumed by Bugsee
maxRecordingTime 60 Maximum recording duration
monitorNetwork true Capture network traffic
reportPrioritySelector false Allow user to modify priority when reporting manual
screenshotEnabled true Attach screenshot to a report
serviceMode false Used, when Bugsee is launched from service. No video and no visual controls available. Recording continues even in background.
shakeToTrigger false Shake gesture to trigger report
videoEnabled true Enable video recording
videoScale 1.0 Custom video scale
wifiOnlyUpload false Upload reports only when a device is connected to a WiFi network
captureDeviceAndNetworkNames false Capture device name, wifi SSID and mobile carrier name.