intp_flutter_liveness_sdk 1.0.5
intp_flutter_liveness_sdk: ^1.0.5 copied to clipboard
The Flutter SDK built incorporates the view of the liveness detection video recording feature.
LivenessCamera SDK Guide #
Platform Support #
| Android | iOS |
|---|---|
| ✔️ | ✔️ |
Installation #
iOS #
Add two rows to the ios/Runner/Info.plist:
- one with the key
Privacy - Camera Usage Descriptionand a usage description. - and one with the key
Privacy - Microphone Usage Descriptionand a usage description.
If editing Info.plist as text, add:
<key>NSCameraUsageDescription</key>
<string>your usage description here</string>
<key>NSMicrophoneUsageDescription</key>
<string>your usage description here</string>
Android #
Change the minimum Android sdk version to 21 (or higher) in your android/app/build.gradle file.
minSdkVersion 21
Usage #
You can use LivenessCamera SDK to detection step of your e-KYC flow. This works both on Android and iOS.
import 'package:intp_flutter_liveness_sdk/intp_flutter_liveness_sdk.dart';
LivenessCamera(
livenessResponse: (Map<String, dynamic> response) {
// handle your next event or navigation from below
debugPrint("$response");
},
endpoint:"API_ENDPOINT"
apiKey:"API_KEY",
),
Options #
Available options in LivenessCamera
| Property | Type | Status | Defalut |
Description |
|---|---|---|---|---|
| endpoint | String | required | The API endpoint | |
| apiKey | String | required | The API key generated from Finema for the customer to use | |
| livenessResponse | Function | required | Receiving function for liveness result | |
| actionsInstruction | Map<String, dynamic> | optional | { |
Custom text instruction each action |
| numberOfActions | Int | optional | 1 | The number of randomised action out of 4 actions ["SHAKE_LEFT", "SHAKE_RIGHT" , "NOD_HEAD", "MOUTH"] This value can be between 1 and 4 |
| numberOfRetry | Int | optional | 0 | The number of retries that should be performed if the user fails the liveness check. The SDK will repeat up to and including this if the user fails the test repeatedly before failing the entire flow |
| backgroundColor | Color | optional | Colors.white | Background color |
| fontFamily | String | optional | "Roboto" | Font family in LivenessCamera widget |
| prepareText | String | optional | "Ensure your face is in the circle" | Prepare text |
| prepareFontColor | Color | optional | Colors.black87 | Font color |
| prepareFontSize | Double | optional | 20 | Font size |
| loadingColor | Color | optional | Colors.white | Loading indicator color |
| loadingSize | Double | optional | 20 | Loading indicator size |
| loadingText | String | optional | "Loading..." | Loading text |
| loadingFontColor | Color | optional | Colors.white | Loading text color |
| loadingFontSize | Double | optional | 16 | Loading Loading text size |
| verifyText | String | optional | "Verify..." | Verify text |
| verifyFontColor | Color | optional | Colors.white | Verify text color |
| verifyFontSize | Double | optional | 16 | Loading Verify text size |
| buttonLabel | String | optional | "Tap to start" | Button label |
| buttonStyle | ButtonStyle | optional | ButtonStyle( |
Custom button style for look and feel match your CI |
| buttonPadding | EdgeInsets | optional | EdgeInsets.all(25) |
Padding of button |
Response #
Available properties in response
| Property | Type | Description |
|---|---|---|
| detectSuccess | Boolean | Detection status |
| detectActionsResult | Array of object | Array of detection results |
| totalRetry | Int | Total number of retry |
| statusCode | Int | HTTP response error status codes |
| statusMessage | String | HTTP response error message |