kvalifika_sdk 0.3.0
kvalifika_sdk: ^0.3.0 copied to clipboard
Kvalifika Flutter SDK
Kvalifika SDK Flutter Sample #
Use Kvalifika SDK to easily integrate into your Flutter app
Table of content:
Installation #
Initialize the SDK #
import 'package:kvalifika_sdk/kvalifika_sdk.dart';
After that you need to initialize SDK with your appId.
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Kvalifika'),
),
body: KvalifikaSdk(
appId: "YOUR APP ID",
locale: KvalifikaSdkLocale.EN,
builder: (sdk) => Center(
child: ElevatedButton(
onPressed: () {
sdk.startSession();
},
child: Text('Start Verification'),
),
),
),
),
);
}
}
Start Verification #
Call sdk.startSession()
on button press
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Kvalifika'),
),
body: KvalifikaSdk(
appId: "YOUR APP ID",
locale: KvalifikaSdkLocale.EN,
builder: (sdk) => Center(
child: ElevatedButton(
onPressed: () {
// Start session on button press
sdk.startSession();
},
child: Text('Start Verification'),
),
),
),
),
);
}
}
Handling Verifications #
It's useful to know if a user has completed the verification flow or canceled it. For this, you can implement the callback methods.
Callback Methods #
Method | Description |
---|---|
onInitialize | This callback method is triggered when SDK initializes. |
onStart | This callback method is triggered when user starts verification. |
onFinish | This callback method is triggered when user completes verification. Get session data here. |
onError | This callback method is triggered on error. Error Codes. |
KvalifikaSdk(
appId: "YOUR APP ID",
onInitialize: () {
},
onStart: (sessionId) {
},
onFinish: (sessionId) {
// Fetch session data from your backend server here
},
onError: (error, message) {
if (error == KvalifikaSdkError.INVALID_APP_ID) {
}
if (error == KvalifikaSdkError.USER_CANCELLED) {
}
if (error == KvalifikaSdkError.TIMEOUT) {
}
if (error == KvalifikaSdkError.USER_CANCELLED) {
}
if (error == KvalifikaSdkError.SESSION_UNSUCCESSFUL) {
}
if (error == KvalifikaSdkError.ID_UNSUCCESSFUL) {
}
if (error == KvalifikaSdkError.CAMERA_PERMISSION_DENIED) {
}
if (error == KvalifikaSdkError.LANDSCAPE_MODE_NOT_ALLOWED) {
}
if (error == KvalifikaSdkError.REVERSE_PORTRAIT_NOT_ALLOWED) {
}
if (error == KvalifikaSdkError.FACE_IMAGES_UPLOAD_FAILED) {
}
if (error == KvalifikaSdkError.DOCUMENT_IMAGES_UPLOAD_FAILED) {
}
if (error == KvalifikaSdkError.COMPARE_IMAGES_FAILED) {
}
if (error == KvalifikaSdkError.UNKNOWN_INTERNAL_ERROR) {
}
},
builder: (sdk) => Center(
child: ElevatedButton(
onPressed: () {
sdk.startSession();
},
child: Text('Start Verification'),
),
),
)
Error Codes #
Error Code | Description |
---|---|
INVALID_APP_ID | Kvalifika App Id is incorrect |
USER_CANCELLED | User cancelled before completing verification. |
TIMEOUT | Cancelled due to inactivity. |
SESSION_UNSUCCESSFUL | The Session was not performed successfully. |
ID_UNSUCCESSFUL | The ID Scan was not performed successfully and identity document data was not generated. |
CAMERA_PERMISSION_DENIED | Camera is required but access prevented by user settings. |
LANDSCAPE_MODE_NOT_ALLOWED | Verification cancelled because device is in landscape mode. |
REVERSE_PORTRAIT_NOT_ALLOWED | Verification cancelled because device is in reverse portrait mode. |
FACE_IMAGES_UPLOAD_FAILED | Could not upload face images. Internal request failed. |
DOCUMENT_IMAGES_UPLOAD_FAILED | Could not upload ID card or passport images. Internal request failed. |
COMPARE_IMAGES_FAILED | Could not compare images. Internal request failed. |
UNKNOWN_INTERNAL_ERROR | Session failed because of an unhandled internal error. This error comes with message. |
UI Customizations #
Appearance #
You can customize logo and icons. Add image in Android drawable resources folder (res/drawable folder) and reference it with filename
KvalifikaSdk(
appId: "YOUR APP ID",
logo: "logo",
documentIcon: "document_icon",
cancelIcon: "cancel_icon",
activeFlashIcon: "active_flash_icon",
inactiveFlashIcon: "inactive_flash_icon",
builder: (sdk) => Center(
child: ElevatedButton(
onPressed: () {
sdk.startSession();
},
child: Text('Start Verification'),
),
),
)
Language #
You can set locale when initializing SDK Supported locales are:
Code | Language |
---|---|
EN | English |
GE | Georgian |
KvalifikaSdk(
appId: "YOUR APP ID",
locale: KvalifikaSdkLocale.EN
)