ChangelogEdit pageSTAFFOpen dashboard

Requirements

The versions the SDK installs on, the versions it runs on, and the build tools each platform needs.

Installs on, runs on#

The SDK can be added to apps that support older OS versions, so it doesn't raise your app's minimums. It only runs on newer ones.

PlatformInstalls fromRuns on
AndroidminSdk 23Android 8.1 (API 27) and later, with Google Play services
iOSiOS 13.0iOS 17 and later
FlutterAndroid minSdk 23, iOS 13.0Android 8.1 (API 27), iOS 17 and later
React Native and ExpoAndroid minSdkVersion 23, iOS 13.0Android 8.1 (API 27), iOS 17 and later

On a device below the runtime minimum, start logs one line and does nothing else: no registration, network calls, permission prompts, location or background work. Every other call is a safe no-op, permission calls give null, and listeners never fire. Check ahead of time with Bubbl.isSupported, and in diagnostics with supported.

KOTLIN
if (Bubbl.isSupported) showBubblSettings()
SWIFT
if Bubbl.isSupported { showBubblSettings() }
DART
if (await Bubbl.isSupported) showBubblSettings();
TS
if (Bubbl.isSupported) showBubblSettings();

Build tools#

  • Android: the SDK is built with compileSdk 35 and Java 11; compile your app with SDK 35. The package is tech.bubbl.sdk:bubbl-sdk on Maven Central.
  • 16 KB pages (Google Play, targetSdk 35 and later): Bubbl ships no native code, but Firebase brings a small .so (from androidx.datastore). Build with Android Gradle Plugin 8.5.1 or later, or set packaging.jniLibs.useLegacyPackaging = true.
  • iOS: Xcode 16 or later (the package uses Swift tools 6.0). Swift Package Manager only, from https://github.com/bubbl-public/bubbl-ios-sdk, product BubblSDK. SDK 5 isn't on CocoaPods trunk.
  • Flutter: Flutter 3.32 or later, Dart ^3.8.0. The package is bubbl_flutter_sdk on pub.dev. It carries the native SDKs, and works with CocoaPods or Swift Package Manager on iOS.
  • React Native: 0.76 or later with the New Architecture on (the default from 0.76). The package is a TurboModule only, and nothing checks the architecture for you: with the New Architecture off, Bubbl's calls don't work. The package is @bubblsdk/react-native-sdk on npm.
  • Expo: Expo SDK 52 or later, in a development build (npx expo prebuild or EAS Build). Expo Go isn't supported. For iOS, Expo SDK 57 needs Xcode 26.4 or later.
  • Android builds: use JDK 17.

Services and accounts#

  • A Bubbl workspace with access to Configuration › Developers. It's in every Sandbox, and in Production on a paid plan. See Dashboard setup.
  • Android push: a Firebase project whose service account you upload to the dashboard.
  • iOS push: an Apple Developer account, the Push Notifications capability on your app, and an APNs auth key (.p8).
  • Android location in the background: the Location permissions declaration in the Play Console. See Location and geofences.

Fresh installs only#

Bubbl 5 works only with fresh installs. Nothing from a 4.x install carries over, and each install registers as a new device. See Migrating from 4.x to 5.x.