For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

  • minSdk 23

  • Kotlin 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:

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