Flutter plugin for the SEON Orchestration SDK, providing identity verification flows for iOS and Android. Built using Flutter’s MethodChannel for communication between Dart and native code.
- Cross-platform — One Dart API on iOS and Android
- MethodChannel — Standard Flutter platform channel integration
- Typed API — Dart classes and enums for configuration and results
Add the dependency to your pubspec.yaml:
dependencies:
seon_orchestration_flutter: ^1.0.5 # use pub.dev once publishedFor a local checkout during development:
dependencies:
seon_orchestration_flutter:
path: ../seon-orchestration-flutterFor iOS, install CocoaPods dependencies:
cd ios && pod installimport 'package:seon_orchestration_flutter/seon_orchestration_flutter.dart';
// 1. Initialize the SDK
await SeonOrchestration.initialize(const SeonConfig(
baseUrl: 'https://your-api-endpoint.com',
token: 'your-auth-token',
language: 'en', // optional
));
// 2. Start the verification flow
final result = await SeonOrchestration.startVerification();
switch (result.status) {
case SeonVerificationStatus.completedSuccess:
print('Verification passed!');
break;
case SeonVerificationStatus.completedFailed:
print('Verification failed.');
break;
case SeonVerificationStatus.interruptedByUser:
print('User cancelled.');
break;
case SeonVerificationStatus.error:
print('Error: ${result.errorMessage}');
break;
default:
break;
}The theme parameter is a Map<String, dynamic> that is JSON-encoded for the native SDK. See SEON workflow initialization for the full theme schema.
await SeonOrchestration.initialize(SeonConfig(
baseUrl: 'https://your-api-endpoint.com',
token: 'your-auth-token',
language: 'en',
theme: { /* your theme config */ },
));await SeonOrchestration.dispose();| Method | Description |
|---|---|
SeonOrchestration.initialize(config) |
Initialize with base URL, token, optional language/theme |
SeonOrchestration.startVerification() |
Present verification UI and return the result |
SeonOrchestration.dispose() |
Release native resources |
| Type | Description |
|---|---|
SeonConfig |
Configuration for initialize() |
SeonVerificationResult |
Result of startVerification() |
SeonVerificationStatus |
Verification outcome enum |
SeonErrorCode |
SDK error codes |
SeonException |
Thrown on SDK errors |
| Platform | Minimum |
|---|---|
| iOS | 13.0+ (see ios/seon_orchestration_flutter.podspec) |
| Android | API 26+ / Android 8.0+ (see android/build.gradle) |
| Flutter | ≥3.16.0 (see pubspec.yaml environment.flutter) |
The SEON SDK may require camera, microphone, and storage. Location is optional if your workflow uses it.
<key>NSCameraUsageDescription</key>
<string>Required for ID verification and selfie capture</string>
<key>NSMicrophoneUsageDescription</key>
<string>Required for video liveness checks</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Required for proof of address document upload</string>The plugin merges required permissions into your app manifest. For location-based checks, add ACCESS_FINE_LOCATION and the matching iOS location usage key.
Hosted documentation (introduction and guides): SEON Orchestration Flutter — Introduction.
For this repository’s Mintlify source (when present), run locally:
npm i -g mintlify
cd docs
mintlify devLayout: In the plugin development repository, the runnable app is under example/. In the public sample repository, the same app is at the repository root—run flutter pub get and flutter run there.
From the sample directory (repository root in the public repo, or example/ here):
flutter pub get
flutter runMIT
- Updated native iOS
SEONOrchSDKto 1.0.3 - Updated native Android
orchestration-android-sdkto 1.0.1
- Minor Improvements
- NFC Verification
- Minor Improvements
- Documentation enhancement.
- Initial version.