SmartComply Android SDK
The SmartComply Android SDK delivers a fully self-contained identity verification flow for Android apps. Launch one Activity and the SDK handles session management, country and ID-type selection, document capture, identity verification, and liveness detection automatically.
Features
- Single-Activity launch — start verification with one Intent and receive a typed result back
- Two verification modes — document photo capture or ID number data entry, configured from your Dashboard
- Guide-box document capture — frames the ID card precisely so images are always clean and correctly cropped
- Liveness detection — camera-based face challenge system (blink, turn head) runs automatically after identity verification
- Dynamic ID types — channels and fields are fetched live from your Dashboard configuration
- Multi-country support — renders a country picker automatically when more than one country is configured
- Dark and light mode — theme adapts to the system setting; override via the launch intent
Requirements
- Android API 24 (Android 7.0) or later
- Kotlin 1.9 or later
- Jetpack Compose enabled in your module
Installation
1 — Add Maven Central
In settings.gradle.kts (already present in most projects):
2 — Add the dependency
In your app or feature module build.gradle.kts:
3 — Enable Compose
Permissions
The SDK declares these permissions automatically via manifest merge. You do not need to add them manually unless your project uses a custom manifest merge strategy:
The SDK requests the CAMERA permission at runtime before the camera is used. Your app does not need to request it separately.
Quick Start
1 — Register the result launcher
In your Activity or Fragment:
2 — Launch verification
Jetpack Compose
If you are launching from a composable, use rememberLauncherForActivityResult:
buildIntent Parameters
Read from the Intent returned to your activity result callback.
Verification Flow
The SDK steps through these states automatically.
SDK Configuration
Error Handling
SmartComplyActivity handles and displays all error states automatically. Common scenarios:
Advanced: Custom Host Activity
If you need to embed the verification flow directly inside your own ComponentActivity instead of launching a separate screen, you can use SmartComplyFlowScreen as a Compose composable:
Your host Activity must be a ComponentActivity and must be in the foreground with an active window. Embedding SmartComplyFlowScreen inside a Dialog or bottom sheet will cause the camera to fail on some devices.
ProGuard / R8
The SDK ships with its own consumer ProGuard rules. If you see obfuscation-related issues, add to your proguard-rules.pro: