Updraft SDK
The Updraft SDK adds two capabilities to apps distributed through getupdraft.com:
Auto Update, which notifies testers when a newer build is available and prompts them to install it. Stops testers filing bugs against outdated builds.
Feedback, which lets testers shake their device (or, on iOS, take a screenshot) to annotate a screenshot and send feedback straight to the Updraft dashboard.
Starting with 2.0.0, Updraft ships as a single Kotlin Multiplatform SDK. One codebase now covers native Android, Kotlin/Compose Multiplatform, and pure Swift iOS (via an XCFramework), replacing the separate 1.x native Android and iOS SDKs.
Source: github.com/appswithlove/updraft-sdk
Upgrading from 1.x? The API changed. See Migrating from 1.x.
Choose your integration
updraft-sdk
Native Android (Views or Compose). Automatic UI wiring, nothing else to hook up.
updraft-core
Logic only, for a custom feedback UI. Android & iOS.
updraft-core + updraft-ui-compose
KMP / Compose Multiplatform with the built-in feedback UI.
updraft-core (XCFramework)
Pure Swift iOS apps.
Platform guides:
Requirements
Android
minSdk 23
iOS
14.0+
Kotlin (Android-only app)
2.1+
Kotlin (KMP app)
2.2+
Kotlin (Swift app via XCFramework)
none
Using an incompatible Kotlin version fails at compile time rather than runtime.
Get your keys
Create your app on getupdraft.com to obtain:
appKey, per platform (one for Android, one for iOS).sdkKey, per project.
Quick start
Every platform initializes the same way. Call Updraft.start(...) once at app launch:
UpdraftSettings
appKey
required
Platform-specific app identifier.
sdkKey
required
Project-level SDK identifier.
logLevel
LogLevel.Error
Console logging: None, Error, or Debug.
showFeedbackAlert
true
Show the shake-to-feedback hint dialog.
feedbackEnabled
true
Enable or disable the feedback feature.
storeRelease
false
Disable Updraft features in store/production builds.
sendNavigationStack
true
Include the current navigation info with feedback.
baseUrl
production API
Override for self-hosted Updraft instances.
Core API
Migrating from 1.x
Settings().apply { appKey = ...; sdkKey = ... }
UpdraftSettings(appKey = ..., sdkKey = ...)
Settings.LOG_LEVEL_DEBUG
LogLevel.Debug, LogLevel.Error, LogLevel.None
Updraft.initialize(this, settings) + Updraft.getInstance().start()
Updraft.start(settings) (no Context)
settings.isStoreRelease / setStoreRelease(...)
UpdraftSettings(..., storeRelease = ...)
setShowStartAlert(...)
UpdraftSettings(..., showFeedbackAlert = ...)
Separate updraft-sdk-ios (CocoaPods/Carthage)
updraft-core XCFramework built via Gradle
Separate updraft-sdk-android repo
single monorepo appswithlove/updraft-sdk
Other notable changes:
Android
minSdkmoved from 19 to 23; iOS minimum from 10.0 to 14.0.iOS is no longer distributed via CocoaPods/Carthage. Build the
UpdraftCore.xcframeworkfrom the SDK.New: event stream (
Updraft.events), navigation-stack capture, and a pluggable feedback UI.
Current version: 2.0.0
Last updated