Skip to Content
v0.8.0 · shippedNative mobile SDKs, optional Sentry enrichment, and bring-your-own keys/storage. Read the changelog →
SDK referencedev.mushimushi:sdk (Android)

dev.mushimushi:sdk (Android)

Native Kotlin SDK on Maven Central. Uses SensorManager for shake detection, Jetpack Compose for the report UI, and WorkManager for a resilient offline queue.

// build.gradle.kts (app module) dependencies { implementation("dev.mushimushi:sdk:0.8.+") }

See Quickstart → Android for the full setup walkthrough.

API surface

MethodPurpose
Mushi.configure(context, projectId, apiKey, ...)Boot the SDK — call once in Application.onCreate()
Mushi.identify(userId, traits)Link reports to a user
Mushi.submitReport(description, severity)Programmatic report submission
Mushi.showReportSheet()Show the bottom-sheet capture UI imperatively
Mushi.submitActivity(events)Rewards-program activity events
MushiReportFabJetpack Compose FAB that triggers the report sheet

Setup

// MyApplication.kt import dev.mushimushi.Mushi class MyApplication : Application() { override fun onCreate() { super.onCreate() Mushi.configure( context = this, projectId = "YOUR_PROJECT_ID", apiKey = "YOUR_PUBLIC_API_KEY", enableShakeToReport = true, ) } }

Identifying users

// After sign-in Mushi.identify( userId = user.id, traits = mapOf("email" to user.email, "name" to user.displayName), )

Offline queue

Reports created without network access are persisted via WorkManager with exponential backoff. The queue cap is 50 reports — oldest entries are dropped if exceeded.

Sentry bridge

Mushi.attachSentryBridge()

Forwards each Mushi report as a Sentry breadcrumb and tags the active Sentry scope with the report_id so a single Sentry issue links back to the Mushi report.

Last updated on