intp_flutter_liveness_sdk 1.3.2
intp_flutter_liveness_sdk: ^1.3.2 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 three rows to the ios/Runner/Info.plist:
- one with the key
Privacy - Camera Usage Descriptionand a usage description. - one with the key
Privacy - Microphone Usage Descriptionand a usage description.
Editing Info.plist as text, add:
<key>NSCameraUsageDescription</key>
<string>Camera Access</string>
<key>NSMicrophoneUsageDescription</key>
<string>Microphone Access</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",
transactionId:"TRANSACTION_ID",
),
Options #
Available options in LivenessCamera
| Property | Type | Status | Default | Description |
|---|---|---|---|---|
| livenessResponse | Function | required | Receiving function for liveness result | |
| endpoint | String | required | The API endpoint | |
| apiKey | String | required | The API key generated from Finema for the customer to use | |
| transactionId | String | required | The transaction id generated from Finema for the customer to use | |
| 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 from your assets |
| prepareText | String | optional | "Ensure your face is in the circle" | Prepare text |
| titleFontColor | Color | optional | Colors.black87 | Font color |
| titleFontSize | 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 |
| verifyText | String | optional | "Verify..." | Verify text |
| loadingFontColor | Color | optional | Colors.white | Text color of loadingText, verifyText |
| loadingFontSize | Double | optional | 16 | Text size of loadingText, verifyText |
| subtitleFontSize | Double | optional | 12 | Text size of recordText, uploadText |
| recordText | String | optional | "Recording in process..." | Indicator record step |
| uploadText | String | optional | "Upload in process..." | Indicator upload step |
| 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 |
| errorMessage | String | HTTP response error message |