Skip to main content

Configuration (7.x Beta)

7.x is currently in beta

This page documents Bugsee Android SDK 7.x (beta). The stable 6.x configuration reference is available at /sdk/android/configuration for comparison. Option names, defaults, and behavior may still change before the final 7.0 release.

Two configuration channels

Bugsee 7.x exposes SDK configuration through two complementary channels. Any option can be set through either one; values passed programmatically to Bugsee.launch() take precedence over values declared in the manifest.

  1. Manifest <meta-data> entries (recommended for auto-launch). When the application token is present in AndroidManifest.xml, the SDK launches automatically at app startup via BugseeInitProvider. Every option has a manifest key of the form com.bugsee.option.<group>.<name> that the SDK reads during this auto-launch path — no code required.
  2. Map<String, Serializable> passed to Bugsee.launch(). Pass an options map keyed by the Options.* string constants. The same map shape is returned by Bugsee.getLaunchOptions() via the OptionsContainer interface, and is what extensions receive inside their launch(OptionsContainer) callback.
LaunchOptions builder removed in 7.x

The legacy LaunchOptions class from 6.x has been removed. All configuration in 7.x flows through either the manifest or the Map<String, Serializable> passed to launch(). See the 6.x → 7.x migration guide for details.

Manifest metadata reference

Add <meta-data> entries under the <application> tag. For enum-typed options, pass the enum value name as a string (for example, android:value="High" for FrameRate.High).

<application ...>
<!-- Required: app token -->
<meta-data android:name="com.bugsee.app-token"
android:value="@string/bugsee_app_token" />

<!-- Optional: override any SDK option -->
<meta-data android:name="com.bugsee.option.detect.crash-ndk"
android:value="true" />
<meta-data android:name="com.bugsee.option.capture.breadcrumbs"
android:value="true" />
</application>

General

Options constantManifest keyTypeDefaultDescription
Durationcom.bugsee.option.config.durationint (seconds)60Maximum capture duration kept in the video ring buffer.
WifiOnlyUploadcom.bugsee.option.config.wifi-only-uploadbooleanfalseRestrict report uploads to Wi-Fi networks.
ReportProcessingInProcesscom.bugsee.option.config.report-processing-in-processbooleantrueProcess reports in-process instead of via JobScheduler.
ReportHandlerCallbackTimeoutcom.bugsee.option.config.report-handler-callback-timeoutint (seconds)30Timeout for user-supplied ReportHandler callbacks.

Detection

See detection.mdx for the full overview of crash, hang, exit, and main-thread-misuse detection.

Options constantManifest keyTypeDefaultDescription
DetectAndReportCrashcom.bugsee.option.detect.crashbooleantrueCatch and report Java/Kotlin crashes.
DetectAndReportCrashNdkcom.bugsee.option.detect.crash-ndkbooleanfalseCatch and report native (NDK) crashes via Breakpad.
DetectAndReportEarlyCrashcom.bugsee.option.detect.early-crashbooleanfalseCatch crashes that occur before Bugsee.launch() attaches.
DetectAndReportHangcom.bugsee.option.detect.hangbooleanfalseDetect main-thread hangs.
DetectAndReportMainThreadMisusecom.bugsee.option.detect.main_thread_misusebooleanfalseReport file I/O, network, DB, or SharedPreferences calls made on the main thread.
DetectAndReportHttpErrorscom.bugsee.option.detect.http-errorsbooleanfalseConvert HTTP 5xx responses to error reports.
DetectAndReportExitcom.bugsee.option.detect.exitbooleanfalseMaster switch for ApplicationExitInfo-based exit reporting.
DetectAndReportExitLowMemorycom.bugsee.option.detect.exit.low_memorybooleantrueInclude low-memory kills in exit reports.
DetectAndReportExitNotRespondingcom.bugsee.option.detect.exit.not_respondingbooleantrueInclude ANR-caused exits.
DetectAndReportExitExcessiveResourceUsagecom.bugsee.option.detect.exit.excessive_resource_usagebooleanfalseInclude exits caused by excessive resource usage.
DetectAndReportExitDependencyDiedcom.bugsee.option.detect.exit.dependency_diedbooleanfalseInclude exits caused by dependent-process death.
DetectAndReportExitUserRequestedcom.bugsee.option.detect.exit.user_requestedbooleanfalseInclude exits triggered by user action.
DetectAndReportExitUserWasStoppedcom.bugsee.option.detect.exit.user_was_stoppedbooleanfalseInclude stops issued by the user from settings.
DetectAndReportExitPermissionChangedcom.bugsee.option.detect.exit.permission_changedbooleanfalseInclude exits caused by permission revocation.
DetectAndReportExitPackageUpdatedcom.bugsee.option.detect.exit.package_updatedbooleanfalseInclude exits caused by package updates.
DetectAndReportExitPackageStateChangedcom.bugsee.option.detect.exit.package_state_changedbooleanfalseInclude exits caused by package state transitions.
DetectAndReportExitOthercom.bugsee.option.detect.exit.otherbooleanfalseInclude "other" ExitInfo reason codes.
DetectAndReportExitUnknowncom.bugsee.option.detect.exit.unknownbooleanfalseInclude exits with unknown reason codes.

Capture

See privacy/video.mdx for details on video capture modes and redaction.

Options constantManifest keyTypeDefaultDescription
CaptureLogscom.bugsee.option.capture.logsbooleantrueCapture Logcat output into reports.
CaptureLogsLevelcom.bugsee.option.capture.logs.levelLogLevelVerboseMinimum log level written to reports.
CaptureLogsUseAllSourcescom.bugsee.option.capture.logs.allsourcesbooleanfalseRead from all Logcat buffers (main, system, crash, events).
CaptureScreenshotcom.bugsee.option.capture.screenshotbooleantrueAttach a screenshot to each report.
CaptureNetworkcom.bugsee.option.capture.networkbooleantrueMonitor HTTP requests and responses.
CaptureNetworkBodySizeLimitcom.bugsee.option.capture.network.body-size-limitint (bytes)20480Maximum network body size captured per request/response.
CaptureNetworkBodyWithoutTypecom.bugsee.option.capture.network.body-without-typebooleanfalseCapture bodies that lack a declared content type.
CaptureNetworkUseDefaultSanitizercom.bugsee.option.capture.network.default-sanitizerbooleantrueApply the built-in sanitizer to request/response headers and bodies.
CaptureViewHierarchycom.bugsee.option.capture.view-hierarchybooleantrueRecord the Android view hierarchy with each report.
CaptureBreadcrumbscom.bugsee.option.capture.breadcrumbsbooleantrueCollect UI/lifecycle breadcrumbs.
CaptureVideocom.bugsee.option.capture.videobooleantrueRecord screen video. Disables CaptureScreenshot when false.
CaptureVideoModecom.bugsee.option.capture.video.modeVideoModeV2Screen capture implementation (see Enums).
CaptureVideoQualitycom.bugsee.option.capture.video.qualityVideoQualityDefaultOutput video quality preset.
CaptureVideoFrameRatecom.bugsee.option.capture.video.frame-rateFrameRateHighCapture frame rate preset.
CaptureVideoScalecom.bugsee.option.capture.video.scalefloat (0.1–1.0)1.0Additional down-scaling applied to the recorded video.
CaptureVideoSecureScrollingcom.bugsee.option.capture.video.secure-scrollingbooleanfalseObfuscate content of RecyclerView/ListView during scroll.
CaptureVideoUsingCustomMuxercom.bugsee.option.capture.video.custom-muxerbooleanfalseUse Bugsee's custom MP4 muxer instead of the platform one.
CaptureVideoFullscreenRememberUserDecisioncom.bugsee.option.capture.video.fullscreen-remember-decisionbooleantrueRemember the user's consent choice for VideoMode.V2.
CaptureVideoFullscreenKeepRunningcom.bugsee.option.capture.video.fullscreen-keep-runningbooleantrueKeep recording when the app is backgrounded (V2 only).

Reporting triggers

Options constantManifest keyTypeDefaultDescription
ReportingTriggerByShakecom.bugsee.option.reporting.triggers.shakebooleantrueOpen the bug-reporting UI on shake gesture.
ReportingTriggerByScreenshotcom.bugsee.option.reporting.triggers.screenshotbooleanfalseOpen the bug-reporting UI when a system screenshot is taken.
ReportingTriggerByNotificationcom.bugsee.option.reporting.triggers.notification-barbooleantrueShow a persistent notification that opens the reporting UI.
ReportingTriggerByBroadcastcom.bugsee.option.reporting.triggers.broadcastbooleanfalseEnable broadcast-intent trigger for programmatic reporting.

Reporting defaults

Options constantManifest keyTypeDefaultDescription
ReportingDefaultCrashPrioritycom.bugsee.option.reporting.defaults.crash-priorityIssueSeverityBlockerDefault priority assigned to crash reports.
ReportingDefaultErrorPrioritycom.bugsee.option.reporting.defaults.error-priorityIssueSeverityHighDefault priority for error reports.
ReportingDefaultBugPrioritycom.bugsee.option.reporting.defaults.bug-priorityIssueSeverityHighDefault priority for user-submitted bug reports.

Reporting UI

Options constantManifest keyTypeDefaultDescription
ReportingUISummaryRequiredcom.bugsee.option.reporting.ui.summary-requiredbooleanfalseMake the "Summary" field mandatory in the reporting UI.
ReportingUIDescriptionRequiredcom.bugsee.option.reporting.ui.description-requiredbooleanfalseMake "Description" mandatory.
ReportingUIEmailRequiredcom.bugsee.option.reporting.ui.email-requiredbooleanfalseMake "Email" mandatory.
ReportingUILabelsEnabledcom.bugsee.option.reporting.ui.labels-enabledbooleanfalseShow the labels field in the reporting UI.
ReportingUILabelsRequiredcom.bugsee.option.reporting.ui.labels-requiredbooleanfalseMake labels mandatory (implies ReportingUILabelsEnabled).
ReportingUIPrioritySelectorEnabledcom.bugsee.option.reporting.ui.priority-selector-enabledbooleanfalseAllow the user to change report priority from the reporting UI.

Performance monitoring

See performance.mdx for the APM overview.

Options constantManifest keyTypeDefaultDescription
PerformanceMonitoringcom.bugsee.option.performance.enabledbooleantrueGlobal APM enable switch.
PerformanceSampleRatecom.bugsee.option.performance.sample-ratefloat (0.0–1.0)0.01Probability a transaction is uploaded standalone. Does not affect capture.
PerformanceUploadModecom.bugsee.option.performance.upload-modeString"batched""batched" (30 s flush) or "realtime".

Programmatic option keys

The com.bugsee.library.contracts.options.Options interface defines a String constant for every manifest key above. Use these constants as map keys when calling Bugsee.launch() or Bugsee.relaunch().

General

ConstantDefault
Duration60
WifiOnlyUploadfalse
ReportProcessingInProcesstrue
ReportHandlerCallbackTimeout30

Detection

ConstantDefault
DetectAndReportCrashtrue
DetectAndReportCrashNdkfalse
DetectAndReportEarlyCrashfalse
DetectAndReportHangfalse
DetectAndReportMainThreadMisusefalse
DetectAndReportHttpErrorsfalse
DetectAndReportExitfalse
DetectAndReportExitLowMemorytrue
DetectAndReportExitNotRespondingtrue
DetectAndReportExitExcessiveResourceUsagefalse
DetectAndReportExitDependencyDiedfalse
DetectAndReportExitUserRequestedfalse
DetectAndReportExitUserWasStoppedfalse
DetectAndReportExitPermissionChangedfalse
DetectAndReportExitPackageUpdatedfalse
DetectAndReportExitPackageStateChangedfalse
DetectAndReportExitOtherfalse
DetectAndReportExitUnknownfalse

Capture

ConstantDefault
CaptureLogstrue
CaptureLogsLevelLogLevel.Verbose
CaptureLogsUseAllSourcesfalse
CaptureScreenshottrue
CaptureNetworktrue
CaptureNetworkBodySizeLimit20480
CaptureNetworkBodyWithoutTypefalse
CaptureNetworkUseDefaultSanitizertrue
CaptureViewHierarchytrue
CaptureBreadcrumbstrue
CaptureBreadcrumbsExtrasvaries
CaptureVideotrue
CaptureVideoModeVideoMode.V2
CaptureVideoQualityVideoQuality.Default
CaptureVideoFrameRateFrameRate.High
CaptureVideoScale1.0
CaptureVideoSecureScrollingfalse
CaptureVideoUsingCustomMuxerfalse
CaptureVideoFullscreenRememberUserDecisiontrue
CaptureVideoFullscreenKeepRunningtrue

Reporting triggers and UI

ConstantDefault
ReportingTriggerByShaketrue
ReportingTriggerByScreenshotfalse
ReportingTriggerByNotificationtrue
ReportingTriggerByBroadcastfalse
ReportingDefaultCrashPriorityIssueSeverity.Blocker
ReportingDefaultErrorPriorityIssueSeverity.High
ReportingDefaultBugPriorityIssueSeverity.High
ReportingUISummaryRequiredfalse
ReportingUIDescriptionRequiredfalse
ReportingUIEmailRequiredfalse
ReportingUILabelsEnabledfalse
ReportingUILabelsRequiredfalse
ReportingUIPrioritySelectorEnabledfalse

Performance monitoring

ConstantDefault
PerformanceMonitoringtrue
PerformanceSampleRate0.01
PerformanceUploadMode"batched"

OptionsContainer

OptionsContainer is the read-only view of effective launch options. It is returned by Bugsee.getLaunchOptions() and is what extensions receive in their launch(OptionsContainer) callback.

boolean                     hasOption(String key);
<T> T getOption(String key);
<T> T getOption(String key, T defaultValue);
Map<String, Serializable> toMap();

Enums

Enum-typed options accept the enum constant programmatically, or the enum value name as a string in the manifest (for example, android:value="Blocker" for IssueSeverity.Blocker).

EnumValues
LogLevelError, Warning, Info, Debug, Verbose
VideoModeNone, V1, V2, Fullscreen, DirectBuffers
VideoQualityDefault, Medium, High
FrameRateLow, Medium, High
IssueSeverityVeryLow, Medium, High, Critical, Blocker
IssueTypeBug, Crash, Error

Examples

Manifest-only configuration

<application ...>
<meta-data android:name="com.bugsee.app-token"
android:value="@string/bugsee_app_token" />

<meta-data android:name="com.bugsee.option.detect.crash-ndk"
android:value="true" />
<meta-data android:name="com.bugsee.option.capture.video.frame-rate"
android:value="Medium" />
<meta-data android:name="com.bugsee.option.reporting.triggers.shake"
android:value="false" />
</application>

Programmatic configuration

class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
val options: HashMap<String, java.io.Serializable> = hashMapOf(
Options.Duration to 60,
Options.ReportingTriggerByShake to false,
Options.DetectAndReportCrashNdk to true,
Options.CaptureVideoFrameRate to FrameRate.Medium
)
Bugsee.launch(this, "<your-app-token>", options)
}
}

Reading effective options

val opts: OptionsContainer = Bugsee.getLaunchOptions()
val duration: Int = opts.getOption(Options.Duration, 60)
val ndkEnabled: Boolean = opts.getOption(Options.DetectAndReportCrashNdk, false)
  • Detection — crash, hang, exit, and main-thread-misuse configuration.
  • Performance — APM transactions, spans, and sampling.
  • Privacy: video — video modes, secure areas, and redaction.