Requirements and releases
What each Octopus SDK needs to build, which features each platform supports, and where each SDK publishes its release notes. The values below are those of the current releases: Android 1.14.2, and 1.14.0 for iOS, Flutter, React Native and Unity.
Requirements
| Platform | Minimum OS | Toolchain | UI |
|---|---|---|---|
| Android | Android 5.0 (API 21), compileSdk 35 | Kotlin 2.1, Java 11 | Jetpack Compose with Material 3 |
| iOS | iOS 13.0 | Xcode 16 (Swift tools 6.0) | SwiftUI, hostable in UIKit with a UIHostingController |
| Flutter | Android API 21, compileSdk 35; iOS 14.0 | Flutter 3.10 and Dart 3.0 | The Android and iOS SDK screens |
| React Native | Android 7.0 (API 24); iOS 15.1 | React Native 0.81, Kotlin 2, Xcode 16.1 | The Android and iOS SDK screens |
| Unity | Android API 21; iOS 13.0 | Unity 2019.4 | The Android and iOS SDK screens |
Platform notes:
- Flutter: the Android host activity must extend
FlutterFragmentActivity, notFlutterActivity. - React Native: both the old and the new architecture are supported, the new one through the interop layer. On iOS, the Podfile needs
use_frameworks! :linkage => :static; with Expo, setuseFrameworks: "static"throughexpo-build-properties. The Android module compiles against thecompileSdkVersionof your app, and against API 36 when your app does not set one. - Unity: the External Dependency Manager for Unity resolves the Android SDK. The iOS SDK is added as a Swift package when Unity exports the Xcode project, so no CocoaPods setup is needed. An iOS export from Unity 6000.3 does not launch on iOS 27, a Unity limitation: export from Unity 6000.5 or later.
Package managers
| Platform | Package manager | Packages |
|---|---|---|
| Android | Maven Central (mavenCentral()) | com.octopuscommunity:octopus-sdk, com.octopuscommunity:octopus-sdk-ui |
| iOS | Swift Package Manager (recommended) or CocoaPods | SPM products Octopus and OctopusUI; pods OctopusCommunity and OctopusCommunityUI |
| Flutter | pub.dev | octopus_sdk_flutter |
| React Native | npm | @octopus-community/react-native |
| Unity | Unity Package Manager (Git URL) or a .unitypackage | com.octopuscommunity.octopus_sdk_for_unity |
The install commands are in the Quickstart.
Privacy manifest
The iOS SDK ships an Apple privacy manifest, PrivacyInfo.xcprivacy, as a resource of the Octopus target. Xcode includes it in your app's privacy report, and Flutter, React Native and Unity apps get it through the iOS SDK. You have nothing to add.
Feature availability
A version is the first release of that SDK with the feature; Yes means that every supported release has it, and — that the platform does not have it. Each guide repeats the minimum versions next to the feature.
| Feature | Android | iOS | Flutter | React Native | Unity | Guide |
|---|---|---|---|---|---|---|
| SSO and Octopus authentication | Yes | Yes | Yes | Yes | Yes | Connect your users |
| Read and refresh entitlements | 1.12.0 | 1.12.0 | 1.12.0 | 1.13.0 | 1.13.0 | Entitlements |
| Detect a guest session | 1.12.6 | 1.12.6 | 1.12.2 | 1.13.0 | 1.14.0 | Guest sessions |
| Ban message before a banned guest's actions | 1.14.2 | 1.14.0 | 1.14.0¹ | 1.14.0¹ | 1.14.0¹ | Guest connection failures |
| Groups | Yes | Yes | Yes | Yes | Yes | Groups |
| Follow or unfollow one group | Yes | — | Yes | 1.13.0 | 1.13.0 | Groups |
| Bridges to your app's content | Yes | Yes | 1.12.0 | 1.13.0 | 1.13.0 | Bridges |
| Push notifications and unread count | Yes | Yes | Yes | Yes | Yes | Push notifications |
| SDK events | Yes | Yes | Yes | Yes | 1.12.2 | Events reference |
profileReported event | Yes | — | Yes² | Yes² | 1.12.2² | Events reference |
| Community access and A/B testing | Yes | Yes | Yes | Yes | Yes | A/B testing |
| Theming | Yes | Yes | Yes | Yes | Yes | Theming |
| Navigation-bar item size | — | Yes | 1.13.1² | 1.13.0² | Yes² | Theming |
| Screen-based theming | Yes | — | — | — | — | Theming |
| Icons and images | Yes | Yes | 1.14.0 | 1.14.0 | 1.14.0 | Icons and images |
| Language override | Yes | Yes | Yes | Yes | Yes | Localization |
| Reset and stop the SDK | Yes | — | 1.12.0 | 1.13.0 | 1.13.0 | Configuration |
| Check whether the SDK is initialized | Yes | — | 1.12.0 | 1.13.0 | — | Configuration |
| Open Octopus screens from your deep links | Yes | — | — | — | — | Configuration |
| Unified Profile | 1.13.0 | 1.13.0 | 1.13.0 | 1.13.0 | 1.13.0 | Unified Profile |
| Choose the initial profile or Activity tab | 1.14.0 | — | — | — | — | Unified Profile |
| Read a member's comments and replies | 1.14.0 | — | — | — | — | Unified Profile |
| Content options | 1.12.1 | 1.12.3 | 1.12.2 | 1.13.0 | 1.12.2 | Community settings |
| Profile field lock | 1.12.1 | 1.12.3 | 1.12.2 | 1.13.0 | 1.12.2 | Community settings |
| Explicit terms acceptance | 1.13.0 | 1.13.0 | 1.13.0 | 1.13.0 | 1.12.8 | Community settings |
| Comments tab visibility | 1.14.0 | 1.14.0 | 1.14.0 | 1.14.0 | 1.14.0 | Community settings |
| Editor Mock Mode | — | — | — | — | 1.12.1 | Unity Editor Mock Mode |
¹ iOS apps only for now; Android apps get it in a later Flutter, React Native and Unity release.
² Android apps only for profileReported, iOS apps only for the navigation-bar item size.
Release notes
Every SDK publishes its changes, and the migration steps of a breaking release, in its public repository:
- Android: octopus-sdk-android releases
- iOS: octopus-sdk-swift releases
- Flutter: octopus-sdk-flutter releases
- React Native: octopus-sdk-react-native releases
- Unity: octopus-sdk-unity releases
Next steps
- Quickstart: install the SDK and show the community.
- Sample apps: run a complete integration on your platform.