seon_orchestration_flutter

iOS Android License: MIT

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.

Features

  • 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

Installation

Add the dependency to your pubspec.yaml:

dependencies:
  seon_orchestration_flutter: ^1.0.3   # use pub.dev once published

For a local checkout during development:

dependencies:
  seon_orchestration_flutter:
    path: ../seon-orchestration-flutter

For iOS, install CocoaPods dependencies:

cd ios && pod install

Quick start

import '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;
}

Custom theme

The theme parameter is a Map<String, dynamic> that is JSON-encoded for the native SDK. See the SEON Orchestration Flutter SDK repository for theme and API details.

await SeonOrchestration.initialize(SeonConfig(
  baseUrl: 'https://your-api-endpoint.com',
  token: 'your-auth-token',
  language: 'en',
  theme: { /* your theme config */ },
));

Cleanup

await SeonOrchestration.dispose();

API overview

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 requirements

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)

Permissions

The SEON SDK may require camera, microphone, and storage. Location is optional if your workflow uses it.

iOS (Info.plist)

<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>

Android

The plugin merges required permissions into your app manifest. For location-based checks, add ACCESS_FINE_LOCATION and the matching iOS location usage key.

Documentation

Guides and API reference live in the seon-orchestration-sdk-flutter-public repository (docs/ and README).

Sample app

From the sample directory (repository root in the public repo):

flutter pub get
flutter run

License

MIT

Changelog

1.0.3

  • NFC Verification
  • Minor improvements

0.1.1

Documentation and release workflow updates. See CHANGELOG.md.

0.1.0

Initial version.