Flutter SDK
With the SORI Flutter SDK, you can add SORI-powered audio recognition, campaign discovery, and action-link handling to Flutter apps on Android, iOS, and Web.
Prerequisites
- Flutter 3.3.0 or later
- Dart SDK compatible with the package constraint
- Android API level 24 or later
- iOS 13.0 or later
- For Web: a secure context (
https://orhttp://localhost), a modern browser with Web Audio andgetUserMedia(), and Node.js with npm for bridge preparation
The Flutter package wraps the native SORI Android and iOS SDKs and adapts the SORI Web SDK through a build-time bridge. Use it when your app is built with Flutter and you want one Dart API for starting recognition, receiving campaign events, updating the recognition database where supported, and reporting handled action URLs.
WARNING
app_id and secret_key authenticate mobile apps with the SORI API Server. Do not commit real values to a repository, sample app, issue, screenshot, or public documentation. Web apps must keep the long-lived secret on the server and use an ephemeral-key endpoint.
Guides
API notes
The Flutter package exposes recognition lifecycle events, campaign/result/error events, opt-in Audio Marker events, database updates, and explicit action URL handling. Location, metadata provider, raw audio buffers, and automatic action URL opening are not part of the public Flutter API.
See the sorisdk_flutter 0.4.0 package and Dart API reference.
References to the Example App
We provide a Flutter example app that demonstrates how to integrate the SDK.
SORI Example Flutterv0.4.0
Includes Android 5.1.0 and iOS 5.1.0. Web SDK 0.6.10 and Web bridge 0.1.5 are unchanged.
- Adopts the latest native SDKs so target material can be updated without interrupting recognition on Android and iOS, improving stability and continuity during updates.
v0.3.8
Includes Android 5.0.13, iOS 5.0.12, Web SDK 0.6.10, and Web bridge 0.1.5.
- Updated the default Audio Marker detector on every platform while preserving marker opt-in, fingerprint-only defaults, and the existing Dart API.
- Flutter Web consumers must update their npm dependency and lockfile, run
sori-flutter-web prepare, rebuild, and redeploy. Existing deployed assets do not update automatically.
v0.3.7
Includes Android 5.0.12 and iOS 5.0.11.
- Improved campaign identification during continuous recognition on Android and iOS.
v0.3.6
Includes Android 5.0.11 and iOS 5.0.10.
- Improved battery efficiency during continuous recognition on Android.
- Improved recognition stability on Android, iOS and Web.
v0.3.5
Includes Android 5.0.10 and iOS 5.0.9. The new marker state lifecycle applies to these mobile platforms; Web behavior is unchanged.
- Adds SDK-managed current Audio Marker state and activity result APIs.
- Enriches recognition results with eligible marker traits and updates the same activity when its marker is identified later.
- Keeps markers on historical results when the current state clears. State retention is conditional; four seconds is not a guaranteed display period.
- Preserves existing campaign callbacks and start/stop integration; Audio Marker recognition remains opt-in.
See state and activity result integration and installation/update instructions.
