Example Apps
activeBinoban publishes a minimal reference app for each mobile SDK. Each one is a complete, runnable integration of the client-side identity and event surface — useful when you want to see a working call site rather than read about one.
They are reference integrations, not starter templates. They ship with placeholder credentials only and are deliberately small: read them, copy the call sites you need, but don't fork one as the base of a production app.
The apps
| App | Platform | Tracks SDK | Consumes the SDK via |
|---|---|---|---|
| binoban-example-android | Android (Jetpack Compose) | Android SDK 1.1.0 | Maven Central — io.binoban.sdk:sdk-android |
| binoban-example-ios | iOS (SwiftUI) | iOS SDK 1.1.0 | Swift Package Manager — binoban-sdk-swift, pinned to an exact version |
| binoban-example-react-native | Android + iOS (React Native) | React Native bridge 1.0.0 | npm — @binoban/react-native; the native SDKs resolve through React Native autolinking |
Versions above are the SDK release each app is tested against, not the app's own version. See the Compatibility Matrix for what is current.
What each app demonstrates
All three cover the same surface, so you can compare one platform against another directly:
| Feature | What it shows |
|---|---|
| Track | Sending a named event with custom properties |
| Identify | Identifying a user by id, with traits |
| Flush | Dispatching buffered events immediately |
| Reset | Clearing the current identity and SDK state |
| Push | Opt-in Firebase Cloud Messaging — token registration, notification display, and interaction reporting (tap / dismiss / customData) |
| Settings | Toggling debug logging and the SDK's enabled state, and adjusting flushAt / flushInterval at runtime |
| JSON display | The exact payload sent for each call |
The React Native app adds a safety harness that exercises the bridge's
never-throw contract — calls before initialization, missing credentials, double
initialization, and calls after reset().
Requirements
| App | Toolchain | Minimum platform |
|---|---|---|
| Android | Android Studio Meerkat or later | minSdk 21 |
| iOS | Xcode 15+ (Swift tools 5.9+) | SDK supports iOS 12+; the example targets iOS 15.0 |
| React Native | Node 20+, React Native 0.83 with the New Architecture (TurboModules) | Android minSdk 24, iOS 15.1 |
The push demos are opt-in and require your own Firebase project. On iOS they also require a real device — the simulator issues no APNs token. See Set up Firebase for Binoban push.
Running one
Each app needs your own apiKey, sourceIdentifier and apiHost,
which you get from your Binoban workspace — see
Quick Start.
Each repository's README names the exact file to put them in.
Credentials are per source, so the React Native app takes an apiKey /
sourceIdentifier pair per platform plus one shared apiHost.