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

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

Artifact(s)
Use case

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

Platform
Minimum

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

Parameter
Default
Purpose

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

1.x
2.0.0

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 minSdk moved from 19 to 23; iOS minimum from 10.0 to 14.0.

  • iOS is no longer distributed via CocoaPods/Carthage. Build the UpdraftCore.xcframework from the SDK.

  • New: event stream (Updraft.events), navigation-stack capture, and a pluggable feedback UI.

Current version: 2.0.0

Last updated