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. Use instance of IOSLaunchOptions
or AndroidLaunchOptions
for corresponding platform to change Bugsee behavior.
!iOS
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);
}
}
}
!Android
using System.Collections.Generic;
namespace YourNameSpace
{
[Application]
public class MainApplication : MauiApplication
{
public MainApplication(IntPtr handle, JniHandleOwnership ownership)
: base(handle, ownership)
{
}
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
public override void OnCreate()
{
base.OnCreate();
var bugseeOptions = new BugseePlugin.AndroidLaunchOptions();
bugseeOptions.ShakeToTrigger = true;
bugseeOptions.NotificationBarTrigger = false;
BugseePlugin.Bugsee.Launch(this, "<your token>", bugseeOptions);
}
}
}
Available Options
For iOS
Key | Default | Notes |
---|---|---|
CaptureLogs | true | Automatically capture all console logs |
CrashReport | true | Catch and report application crashes (*) |
DefaultBugPriority | VeryLow | Default priority for bugs |
DefaultCrashPriority | 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 |
FrameRate | 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 | true | 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 | VeryLow | Default priority for bugs |
DefaultCrashPriority | Blocker | Default priority for crashes |
ExtendedVideoMode | false | Enables or disables the use of MediaProjection API (**) |
FrameRate | High | Specifies how often frames are captured |
LogLevel | Verbose | Minimal log level of Logcat messages, which will be attached to report |
MaxDataSize | 50 | Maximum disk space consumed by Bugsee |
MaxRecordingTime | 60 | Maximum recording duration |
MonitorNetwork | true | Capture network traffic |
NotificationBarTrigger | true | Trigger report from notification bar |
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 |
WifiOnlyUpload | false | Upload reports only when a device is connected to a WiFi network |
CaptureDeviceAndNetworkNames | true | Capture device name, wifi SSID and mobile carrier name. |
Stop, Relaunch
It is also possible to relaunch Bugsee with other options later
!iOS
// Relaunch with other options.
var options = new BugseePlugin.IOSLaunchOptions();
// Set other launch options
//...
BugseePlugin.Bugsee.Relaunch(options);
!Android
// Relaunch with other options.
var options = new BugseePlugin.AndroidLaunchOptions();
// 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.