Android SDK
The Android SDK (current version 0.1.0) is a single Kotlin object,
io.onesygnal.sdk.api.OneSygnal — one instance per process, no factory constructor. It’s a
native library, not a wrapper around the Web SDK: events, triggers, storage, and survey
rendering (a Compose window overlay attached via WindowManager) are all implemented directly
in Kotlin.
Unlike the Web SDK, there’s no separate “loader vs. bundle” split and no options object passed
to init(). Configuration is instead: the API key read from AndroidManifest.xml (or set in
code via setApiKey()), and a locale that defaults to the device’s and can be changed later
with setLocale(). See Configuration.
Distribution model
| Channel | Package | Notes |
|---|---|---|
| Maven Central | io.onesygnal:android-sdk | Binary-only — no sources/javadoc jar contains real source (ADR 0006). Publishing config exists in build.gradle.kts but has never been run against real Sonatype credentials. |
Platform floors
| Value | |
|---|---|
minSdk | 21 |
compileSdk / targetSdk | 34 |
| Kotlin/JVM target | 17 |
Requires Jetpack Compose (bundled as a transitive dependency) — the survey overlay is rendered
with it, attached above the host app’s own window via WindowManager, not embedded in an
Activity’s view hierarchy.