Skip to main content

Configuration

Launching with options

warning

iOS/iPadOS: Since v6.0.0 the underlying Bugsee iOS SDK supports the simulator; crash capture is excluded. For full functionality, launch your app with Bugsee on a real device.

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.

using System.Collections.Generic;

namespace YourNameSpace
{
[Register("AppDelegate")]
public class AppDelegate : MauiUIApplicationDelegate
{
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();

public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
{
var bugseeOptions = new BugseePlugin.IOSLaunchOptions();

bugseeOptions.ShakeToReport = true;
bugseeOptions.ReportPrioritySelector = true;
bugseeOptions.DefaultBugPriority = BugseeSeverityLevel.Critical;

BugseePlugin.Bugsee.Launch("<your_app_token>", bugseeOptions);

return base.FinishedLaunching(application, launchOptions);
}
}
}

Available Options

For iOS

KeyDefaultNotes
CaptureDeviceAndNetworkNamestrueCapture device name, wifi SSID and mobile carrier name.
CaptureLogstrueAutomatically capture all console logs
CaptureAVPlayerfalseWhen enabled, video playing via AVPlayerLayer and via AVPlayerViewController will be captured on video. This also may include video streams from camera.
CaptureOSLogsfalseControls whether OSLog messages are captured. Disabled by default. Note that OSLog capturing incurs a performance slight penalty, thus, please measure the impact for your specific use case
CrashReporttrueCatch and report application crashes (*)
DefaultBugPriorityHighDefault priority for bugs
DefaultCrashPriorityBlockerDefault priority for crashes
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
FrameRateHighSpecifies how often frames are captured
KillDetectionfalseDetect abnormal termination (experimental, read more)
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
MaxNetworkBodySize5120The limit above which network requests bodies will not be captured. Specified in bytes.
MaxRecordingTime60Maximum recording duration
MonitorNetworktrueCapture network traffic
MonitorBluetoothStatusfalseMonitor bluetooth state.
IMPORTANT: You must add "Privacy - Bluetooth Always Usage Description" key into your Info.plist with a string value explaining to the user why you need bluetooth permission
MonitorDiskSpacefalse
ReportDescriptionRequiredfalseControls whether "Description" field in bug reporting UI is mandatory or not.
ReportEmailRequiredfalseControls whether "Email" field in bug reporting UI is mandatory or not
ReportPrioritySelectorfalseAllow user to modify priority when reporting manual
ReportSummaryRequiredfalseControls whether "Summary" field in bug reporting UI is mandatory or not
ScreenshotEnabledtrueAttach screenshot to a report
ScreenshotToReporttrueScreenshot key to trigger report
ShakeToReportfalseShake gesture to trigger report
StyleDefaultEnumeration of Default, Dark and BasedOnStatusBar
VideoEnabledtrueEnable video recording
ViewHierarchyEnabledtrueCapture view hierarchy for bug and error reports
WifiOnlyUploadfalseUpload reports only when a device is connected to a WiFi network
warning
  • iOS allows only one crash detector to be active at a time, if you insist on using an alternative solution for handling crashes, you might want to use this option and disable Bugsee from taking over.

For Android

KeyDefaultNotes
CaptureDeviceAndNetworkNamestrueCapture device name, wifi SSID and mobile carrier name.
CaptureLogstrueAutomatically capture all console logs
CrashReporttrueCatch and report application crashes
DefaultBugPriorityHighDefault priority for bugs
DefaultCrashPriorityBlockerDefault priority for crashes
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
FrameRateBugseeFrameRate.HighSpecifies how often frames are captured
ExtendedVideoModefalseEnables or disables the use of MediaProjection API (**)
LogLevelVerboseMinimal log level of Logcat messages, which will be attached to report
MaxDataSize50Maximum disk space consumed by Bugsee
MaxNetworkBodySize5120The limit above which network requests bodies will not be captured. Specified in bytes.
MaxRecordingTime60Maximum recording duration
MonitorNetworktrueCapture network traffic
ReportDescriptionRequiredfalseControls whether "Description" field in bug reporting UI is mandatory or not.
ReportEmailRequiredfalseControls whether "Email" field in bug reporting UI is mandatory or not
ReportPrioritySelectorfalseAllow user to modify priority when reporting manual
ReportSummaryRequiredfalseControls whether "Summary" field in bug reporting UI is mandatory or not
NotificationBarTriggertrueTrigger report from notification bar
ScreenshotEnabledtrueAttach screenshot to a report
ServiceModefalseUsed, when Bugsee is launched from service. No video and no visual controls available. Recording continues even in background.
ShakeToReportfalseShake gesture to trigger report
VideoEnabledtrueEnable video recording
ViewHierarchyEnabledtrueCapture view hierarchy for bug and error reports
WifiOnlyUploadfalseUpload reports only when a device is connected to a WiFi network
warning

** If ExtendedVideoMode is set to 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 (experimental), 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.

Stop, Relaunch

It is also possible to relaunch Bugsee with other options later

// Relaunch with other options.
var options = new BugseePlugin.IOSLaunchOptions();

// Set other launch options
//...

BugseePlugin.Bugsee.Relaunch(options);

or stop the events and video recording.

// Stop recording completely
BugseePlugin.Bugsee.Stop()

Handling UnobservedTaskExceptions

Starting with version 4.5 of .NET Framework, exceptions thrown within the Tasks are not causing app to crash any more. Instead, they are rerouted to UnobservedTaskExceptions event handlers. By default, we do not capture them to reduce noise. If, however, you need them to be captured, enable that feature by setting the following option (same for all the platforms):

BugseePlugin.Bugsee.HandleTaskExceptions = true;

NOTE: This option is enabled by default.