Integrating Updraft Android SDK
Integrate Updraft into a native Android app (Views or Compose). The updraft-sdk artifact wires up the feedback UI and update prompts automatically. No manual hooks required.
Source: github.com/appswithlove/updraft-sdk
On 1.x? The API changed in 2.0.0. See Migrating from 1.x.
Requirements
minSdk23Kotlin 2.1+ (2.2+ if part of a KMP project)
1. Add the version catalog entry
In gradle/libs.versions.toml:
[versions]
updraft = "2.0.0"
[libraries]
updraft-sdk = { module = "com.appswithlove.updraft:updraft-sdk", version.ref = "updraft" }
updraft-core = { module = "com.appswithlove.updraft:updraft-core", version.ref = "updraft" }
updraft-ui-compose = { module = "com.appswithlove.updraft:updraft-ui-compose", version.ref = "updraft" }Make sure mavenCentral() is in your repositories.
2. Add the dependency
In your app module's build.gradle.kts:
3. Initialize at launch
That's it. The SDK auto-registers via androidx.startup, so no further wiring is needed. Get appKey and sdkKey from your app on getupdraft.com.
Settings
See the full UpdraftSettings reference. Common overrides:
Feedback
Testers trigger feedback by shaking the device. They can annotate the captured screenshot and submit it to the Updraft dashboard. Feedback is toggled per app on getupdraft.com and can be disabled locally with feedbackEnabled = false.
Custom feedback UI (optional)
If you don't want the built-in UI, provide your own presenter and send feedback manually:
Navigation stack
Updraft can attach the list of open screens to each feedback report. Provide a resolver for your navigation library:
Disable entirely with sendNavigationStack = false in UpdraftSettings.
Hosting the feedback event yourself (Compose)
For custom navigation into a feedback screen:
Auto Update
Enable Auto Update on the getupdraft.com dashboard. The SDK compares the installed build number against the latest on the server and prompts testers to install newer versions. Micro-version comparison is supported (e.g. 1.2.3.20180804 > 1.2.3.20180803).
Logging
Default level is LogLevel.Error (errors and warnings only). For request/response inspection during development:
Last updated