vove_id_flutter 1.6.0
vove_id_flutter: ^1.6.0 copied to clipboard
VOVE ID - Instant, seamless identity verification. Designed for trust, user-centric, fully compliant with AML/KYC. Optimized for the MEA region.
Vove Flutter SDK Guide #
Based on the official Vove documentation at docs.voveid.com/docs/sdks/flutter.
Overview #
The vove_id_flutter plugin wraps the native Vove iOS and Android SDKs to deliver a single, idiomatic Dart API for ID verification, KYC, and AML compliance. It supports:
- Sandbox and production environments
- Full-screen or custom UI flows
- Locale overrides
- Vocal guidance
- Per-step exits and next-step routing
- Max-attempt callbacks
Installation #
Add the dependency to your pubspec.yaml:
dependencies:
vove_id_flutter: ^1.6.0
Then run flutter pub get.
Initialization #
Call Vove.initialize as soon as your verification UI loads—before you invoke Vove.start—to ensure the native SDK is ready. For most apps this happens when the screen that initiates verification is displayed:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Vove.initialize(
environment: VoveEnvironment.sandbox, // or production
publicKey: 'YOUR_PUBLIC_KEY',
);
runApp(const MyApp());
}
Starting a Verification Session #
Generate a session token on your backend (see Vove’s REST API docs) and pass it to Vove.start. The call returns a VoveVerificationResult describing the current status and the next required step (when exitAfterEachStep is enabled).
final config = VoveStartConfiguration(
showUI: true,
exitAfterEachStep: false,
onMaxAttemptsReached: () {
// e.g., prompt the user to contact support
},
);
final result = await Vove.start(
sessionToken: 'SESSION_TOKEN_FROM_BACKEND',
configuration: config,
locale: VoveLocale.fr,
enableVocalGuidance: true,
);
switch (result.status) {
case VoveVerificationStatus.success:
// grant access
break;
case VoveVerificationStatus.pending:
// wait for manual review
break;
case VoveVerificationStatus.maxAttempts:
// show support options
break;
default:
// handle other outcomes
}
Configuration Options #
| Field | Type | Default | Description |
|---|---|---|---|
showUI |
bool |
true |
Displays Vove’s built-in welcome/summary screens. Disable to provide your own UI. |
exitAfterEachStep |
bool |
false |
Returns control after each step (e.g., ID_DOCUMENT, LIVENESS) so you can interleave your own flows. |
onMaxAttemptsReached |
VoidCallback? |
null |
Invoked when the user reaches the maximum verification attempts. |
locale |
VoveLocale? |
en |
Overrides the SDK UI language (en, fr, ar, de, arMA). |
enableVocalGuidance |
bool? |
false |
Plays voice instructions during the 3D liveness step. |
Result Values #
VoveVerificationStatus can be:
successpendingcanceledmaxAttempts
When exitAfterEachStep is true, result.nextStep indicates the next action (ID_DOCUMENT, LIVENESS, ADDRESS_PROOF, CAR_REGISTRATION_DOCUMENT, DRIVING_LICENSE, DONE, or unknown).
Troubleshooting #
| Issue | Fix |
|---|---|
VoveStartConfiguration not found (iOS) |
Run pod repo update && pod install so VoveSDK ≥ 1.5.0 is fetched. |
Crash on iOS: mprotect failed |
Ensure the Runner target uses the provided entitlements (Runner/DebugProfile.entitlements). |
maxAttempts callback never fires |
Supply onMaxAttemptsReached in VoveStartConfiguration; the native bridges invoke it immediately when the SDK raises the event. |
| Session token rejected | Confirm your backend uses Vove’s Verification Session API and you’re passing the fresh token unmodified. |
For additional guidance, contact Vove support via the dashboard or reference the official Flutter documentation (docs.voveid.com/docs/sdks/flutter).