Skip to main content

Breadcrumbs

This page documents the Bugsee Android SDK 7.0.0. For the previous major version, see Adding custom data.

Breadcrumbs are small contextual entries that record the sequence of events leading up to an issue — navigation, taps, lifecycle changes, network requests, and system events. They are aggregated into the report timeline and surface in the Bugsee dashboard. The SDK captures four built-in breadcrumb sources (app, UI, network, and system) automatically; to disable collection, scrub, or drop them, see Privacy → Breadcrumbs.

Recording custom breadcrumbs

Bugsee.addBreadcrumb(Breadcrumb) records a breadcrumb you build yourself — a navigation event, a business-domain checkpoint, or a breadcrumb forwarded from a wrapper SDK.

Construct a Breadcrumb via Bugsee.getExchangeFactory() rather than implementing the interface — the factory returns a pooled SDK container ready to populate:

static BugseeExchangeFactory getExchangeFactory(); // never null
static void addBreadcrumb(Breadcrumb breadcrumb); // no-op if null / not launched

getExchangeFactory() always returns the shared factory, but its create* methods may return null before the SDK is launched (or after it is stopped) — always null-check. The Breadcrumb it returns exposes setCategory(String), setMessage(String), setType(String), setLevel(Breadcrumb.Level), and setData(...). Level is one of DEBUG, INFO, WARNING, ERROR, FATAL.

The breadcrumb runs through the filter registered via Bugsee.setBreadcrumbFilter(...) before being recorded.

BugseeExchangeFactory factory = Bugsee.getExchangeFactory();
Breadcrumb crumb = factory.createBreadcrumb();
if (crumb != null) {
crumb.setCategory("navigation");
crumb.setMessage("Opened checkout");
crumb.setType("default");
crumb.setLevel(Breadcrumb.Level.INFO);
crumb.setData("cart_size", 3);
Bugsee.addBreadcrumb(crumb);
}

// Or build it fully in one call:
Breadcrumb prebuilt = factory.createBreadcrumb(
System.currentTimeMillis(),
"navigation", // category
"Opened checkout", // message
Breadcrumb.Level.INFO, // level (null for default)
"default", // type
null); // optional data map
Bugsee.addBreadcrumb(prebuilt);

getExchangeFactory() also builds NetworkEvent instances for Bugsee.addNetworkEvent(...) — see Network events → Recording custom network events.

Found an issue, typo, or wrong statement on this page? Report it now →