A public sample app demonstrating how to integrate and run the ComplyCube Flutter SDK end-to-end: document capture (ID + proof of address) and selfie/biometrics.
If you're looking to integrate the SDK into your own app, see the integration guide: https://docs.complycube.com/sdks/mobile-integrations/flutter-sdk
- Quick start
- Prerequisites
- Validate your environment
- Configure the sample (Client ID + SDK Token)
- Run the app
- FAQ / Troubleshooting
- Compatibility matrix
- Support
- About ComplyCube
-
Install dependencies:
flutter pub get
-
Configure credentials (Client ID + SDK token):
See Configure the sample -
Run:
flutter run
-
Flutter SDK installed and on PATH:
flutter --version
-
Android Studio installed (for Android SDK + emulator tooling)
-
JDK installed and configured (recommended: JDK 17 for modern Android toolchains)
java -version
-
Android SDK components installed:
-
Android SDK Platform (matching the sample’s
compileSdk) -
Build-tools (matching the sample’s build-tools version)
-
Platform-tools
-
-
Android licenses accepted:
flutter doctor --android-licenses
-
Xcode installed + command line tools
-
CocoaPods installed:
pod --version
Run Flutter’s built-in diagnostics first:
flutter doctor -vThen run the sample’s environment checks (recommended):
chmod +x ./scripts/doctor.sh
./scripts/doctor.shpowershell -ExecutionPolicy Bypass -File .\scripts\doctor.ps1You need two values from the ComplyCube API:
-
Create a Client ID:
https://docs.complycube.com/documentation/guides/mobile-sdk-guide/mobile-sdk-integration-guide#id-2.-create-a-client -
Generate an SDK token:
https://docs.complycube.com/documentation/guides/mobile-sdk-guide/mobile-sdk-integration-guide#id-3.-generate-an-sdk-token
Open lib/main.dart and replace:
-
CLIENT_ID -
SDK_TOKEN
Do not commit real credentials.
-
Start an emulator in Android Studio or connect a device with USB debugging enabled.
-
Confirm a device is visible:
flutter devices
-
Run:
flutter run
flutter build apk-
Install pods (first time, or after dependency changes):
cd ios pod install cd ..
-
Run:
flutter run
Run:
flutter doctor -v
flutter doctor --android-licensesEnsure Android SDK + platform tools are installed.
Symptoms include:
-
“Unsupported class file major version…”
-
“Gradle version is incompatible with Java…”
-
“Android Gradle plugin requires Java…”
Fix approach:
-
Check JDK version:
java -version
-
Use JDK 17 (recommended for modern Android Gradle Plugin setups).
-
Re-run:
```bash chmod +x ./scripts/doctor.sh ./scripts/doctor.sh ```powershell -ExecutionPolicy Bypass -File .\scripts\doctor.ps1
Often caused by Android Studio shipping a newer JDK than your build expects. Use JDK 17 and ensure Gradle/AGP versions align (see compatibility matrix).
Try:
cd ios
pod repo update
pod install
cd ..
flutter clean
flutter pub get
flutter runThis repo uses the Gradle Wrapper (android/gradlew) to keep Gradle consistent between machines. Avoid running system Gradle directly.
If you hit an issue:
-
Run:
flutter doctor -v ./scripts/doctor.sh or powershell -ExecutionPolicy Bypass -File .\scripts\doctor.ps1
-
Open a GitHub issue and include:
-
OS + CPU architecture
-
Flutter version (
flutter --version) -
Output of
flutter doctor -v -
The exact error log + steps to reproduce
-
ComplyCube is an award-winning SaaS & API platform renowned for its advanced Identity Verification (IDV), Anti-Money Laundering (AML), and Know Your Customer (KYC) compliance solutions. Its broad customer base includes sectors like financial services, transport, healthcare, e-commerce, cryptocurrency, FinTech, and telecoms, reinforcing its status as a global leader in IDV.
As an ISO-certified platform, ComplyCube is praised for its speedy omnichannel integration and extensive service offerings, including Low/No-Code solutions, powerful API, Mobile SDKs, Client Libraries, and seamless CRM integrations.