my-ekyc
Create new module
For create new module follow: https://github.com/brodybits/create-react-native-module
Getting started
$ npm install my-ekyc --save
Mostly automatic installation
$ react-native link my-ekyc
Manual installation
iOS (Pending...)
- In XCode, in the project navigator, right click
Libraries
➜Add Files to [your project's name]
- Go to
node_modules
➜my-ekyc
and addMyEkyc.xcodeproj
- In XCode, in the project navigator, select your project. Add
libMyEkyc.a
to your project'sBuild Phases
➜Link Binary With Libraries
- Run your project (
Cmd+R
)<
Android
- Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import com.reactlibrary.MyEkycPackage;
to the imports at the top of the file - Add
new MyEkycPackage()
to the list returned by thegetPackages()
method
- Append the following lines to
android/settings.gradle
:include ':my-ekyc' project(':my-ekyc').projectDir = new File(rootProject.projectDir, '../node_modules/my-ekyc/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:compile project(':my-ekyc')
Usage
import {
Ekyc,
CameraType,
DocumentIdType,
DocumentType,
Language,
VersionSDK,
} from 'my-ekyc';
Set up
Android permission
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Set up in file app/build.gradle
android {
...
aaptOptions {
noCompress "tflite"
noCompress "lite"
}
}
Function
-
register
componentDidMount() { Ekyc.register(accessToken, tokenId, tokenKey, (code, msg) => { console.log('register: code: ' + code + ', msg: ' + msg); }); ... }
Key Kiểu dữ liệu accessToken String tokenId String tokenKey String -
orcFull
Ekyc.orcFull(parameters, (code, msg) => { console.log('orcFull: code: ' + code + ', msg: ' + msg); });
Parameter:
const myObj = { DOCUMENT_TYPE: DocumentType.IDENTITY_CARD, SELECT_DOCUMENT: false, VERSION_SDK: VersionSDK.STANDARD, SHOW_RESULT: true, SHOW_DIALOG_SUPPORT: true, CAMERA_FOR_PORTRAIT: CameraType.FRONT, SHOW_SWITCH: false, CALL_ADD_FACE: false, LIVENESS_ADVANCED: false, CHECK_MASKED_FACE: false, CHECK_LIVENESS_CARD: false, LANGUAGE: Language.VIETNAMESE, CHALLENGE_CODE: 'challengeCode', }; const parameters = JSON.stringify(myObj);
-
ocrFront
Ekyc.ocrFront(parameters, (code, msg) => { console.log('ocrFront: code: ' + code + ', msg: ' + msg); });
Parameter:
const myObj = { DOCUMENT_TYPE: DocumentType.IDENTITY_CARD, SELECT_DOCUMENT: false, SHOW_DIALOG_SUPPORT: true, CHECK_LIVENESS_CARD: false, LANGUAGE: Language.VIETNAMESE, CHALLENGE_CODE: 'challengeCode', }; const parameters = JSON.stringify(myObj);
-
ocrFrontAndBack
Ekyc.ocrFrontAndBack(parameters, (code, msg) => { console.log('ocrFrontAndBack: code: ' + code + ', msg: ' + msg); });
Parameter:
const myObj = { DOCUMENT_TYPE: DocumentType.IDENTITY_CARD, SELECT_DOCUMENT: false, SHOW_RESULT: true, SHOW_DIALOG_SUPPORT: true, CHECK_LIVENESS_CARD: false, LANGUAGE: Language.VIETNAMESE, CHALLENGE_CODE: 'challengeCode', }; const parameters = JSON.stringify(myObj);
-
ocrSelfieCompareFace
Ekyc.ocrSelfieCompareFace(parameters, (code, msg) => { console.log('ocrSelfieCompareFace: code: ' + code + ', msg: ' + msg); });
Parameter:
import {IDENTITY_CARD} from 'my-ekyc/src/CustomerInfo.js'; ... const myObj = { DOCUMENT_TYPE: DocumentType.IDENTITY_CARD, VERSION_SDK: VersionSDK.STANDARD, SHOW_DIALOG_SUPPORT: true, CAMERA_FOR_PORTRAIT: CameraType.FRONT, SHOW_SWITCH: false, COMPARE_FLOW: true, CALL_ADD_FACE: true, LIVENESS_ADVANCED: true, CHECK_MASKED_FACE: true, HASH_IMAGE_COMPARE: 'HASH_IMAGE_COMPARE', CUSTOMER_INFO: new IDENTITY_CARD({ card_id: 'card_id', full_name: 'full_name', dob: 'dob', gender: 'gender', address: 'address', home_town: 'home_town', nationality: 'nationality', }), LANGUAGE: Language.VIETNAMESE, CHALLENGE_CODE: 'challengeCode', UNIT_ADD_FACE: 'unitAddFace', }; const parameters = JSON.stringify(myObj);
-
ocrSelfieVerifyFace
Ekyc.ocrSelfieVerifyFace(parameters, (code, msg) => { console.log('ocrSelfieVerifyFace: code: ' + code + ', msg: ' + msg); });
Parameter:
const myObj = { VERSION_SDK: VersionSDK.STANDARD, SHOW_DIALOG_SUPPORT: true, CAMERA_FOR_PORTRAIT: CameraType.FRONT, SHOW_SWITCH: false, VERIFY_FACE_FLOW: true, VERIFY_ID: 'verifyId', ID_TYPE: DocumentIdType.IDENTITY_CARD, LIVENESS_ADVANCED: true, CHECK_MASKED_FACE: true, LANGUAGE: Language.VIETNAMESE, CHALLENGE_CODE: 'challengeCode', }; const parameters = JSON.stringify(myObj);
Receive result
componentDidMount() {
...
const eventEmitter = new NativeEventEmitter(NativeModules.Ekyc);
this.eventListener = eventEmitter.addListener('EkycResult', event => {
console.log(event);
});
}
Parameter attributes
Key | Kiểu dữ liệu | Nhiệm vụ |
---|---|---|
DOCUMENT_TYPE | DocumentType | Loại giấy tờ bóc tách. Giá trị mặc định là CMT/CCCD : DocumentType.IDENTITY_CARD |
SELECT_DOCUMENT | Boolean | Có hiển thị màn hình chọn loại giấy tờ hay không. Giá trị mặc định là false. |
VERSION_SDK | VersionSDK | Phiên bản SDK mong muốn sử dụng. Giá trị mặc định là phiên bản tiêu chuẩn : VersionSDK.STANDARD |
CAMERA_FOR_PORTRAIT | CameraType | Loại camera trước hoặc sau ở màn hình chụp chân dung. Giá trị mặc định là camera trước : CameraType.FRONT |
SHOW_RESULT | Boolean | Có hiển thị màn hình thông tin cá nhân hay không. Mặc định là false. |
SHOW_SWITCH | Boolean | Có hiển thị nút xoay camera khi chụp chân dung không. Mặc định là false. |
SHOW_DIALOG_SUPPORT | Boolean | Có hiển thị hướng dẫn sử dụng SDK hay không. Mặc định là true. |
HIDE_TRADE_MARK | Boolean | Tắt hiển thị logo trademark. Mặc định là false. |
LANGUAGE | Language | Ngôn ngữ muốn thể hiện ở các dialog hướng dẫn. Mặc định làLanguage.VIETNAMESE |
LIVENESS_STANDARD | Boolean | Có kiểm tra xác thực người thật giả ở bản tiêu chuẩn hay không. Mặc định là false. |
LIVENESS_ADVANCED | Boolean | Có kiểm tra xác thực người thật giả ở bản nâng cao hay không. Mặc định là false. |
CHECK_MASKED_FACE | Boolean | Có kiểm tra che mặt hay không. Mặc định là false. |
CHECK_LIVENESS_CARD | Boolean | Có kiểm tra xác thực giấy tờ thật hay không thật hay không. Mặc định là false. |
VALIDATE_POSTCODE | Boolean | Có kiểm tra mã vùng ID trên giấy tờ hay không. Kiểm tra mã ID có bị giả mạo hay không. Áp dụng với (CMT/CCCD) Mặc định là false. |
GET_POST_CODE | ArrayList | Có lấy kết quả mã vùng từ thông tin bóc tách địa chỉ trên giấy tờ hay không. Nếu truyền vào rỗng hoặc không truyền vào thì mặc định là không lấy. |
CALL_ADD_FACE | Boolean | Có thực hiện thêm thông tin cá nhân vào CSDL hay không. Mặc định là false |
VERIFY_ID | String | Dữ liệu truyền vào để xác minh thông tin. Số CMT với loại giấy tờ CMT (tương tự với các loại giấy tờ khác) |
ID_TYPE | DocumentIdType | Loại giấy tờ muốn xác minh thông tin. DocumentIdType.IDENTITY_CARD |
CHALLENGE_CODE | String | Chữ ký số truyền vào đảm bảo thông tin gửi đi và kết quả trả về không bị sửa đổi. |
USE_DIFFERENT_SERVER | Boolean | Có sử dụng server của khách hàng hay không. Mặc định là false |
URL_UPLOAD_IMAGE | String | Đường dẫn của khách hàng truyền vào để upload ảnh |
URL_OCR | String | Đường dẫn của khách hàng truyền vào bóc tách thông tin. |
URL_COMPARE | String | Đường dẫn của khách hàng truyền vào so sánh khuôn mặt và mặt trên giấy tờ. |
URL_LIVENESS | String | Đường dẫn của khách hàng truyền vào xác minh có phải người thật hay không |
URL_CHECK_MASKED_FACE | String | Đường dẫn của khách hàng truyền vào kiểm tra khách hàng có che mặt hay không |
URL_MAPPING_ADDRESS | String | Đường dẫn của khách hàng truyền vào bóc tách thông tin địa chỉ tương ứng với mã quận huyện tỉnh. |
URL_OCR_FRONT | String | Đường dẫn của khách hàng truyền vào bóc tách thông tin mặt trước giấy tờ. |
URL_VERIFY_FACE | String | Đường dẫn khách hàng truyền vào để xác minh thông tin đã đăng ký trước đó. |
URL_ADD_FACE | String | Đường dẫn khách hàng truyền vào để thực hiện đăng ký thông tin. |
CUSTOMER_INFO | Object | IDENTITY_CARD/ PASSPORT/ MILITARY_CARD/ DRIVER_LICENSE |
HASH_IMAGE_COMPARE | String | Mã hash mặt trước của giấy tờ truyền vào để thực hiện so sánh khuôn mặt. |
ADD_FACE_TITLE | String | Thông tin bổ sung theo từng khách hàng. VD: VIP |
UNIT_ADD_FACE | String | Thông tin định danh tên theo từng khách hàng. |
CHANGE_THEME | Boolean | Có thực hiện thay đổi giao diện SDK hay không. Mặc định là false |
LOGO | String | Tên logo của khách hàng truyền vào. Logo đặt trong thư mục asset của app. |
HEIGHT_LOGO | int | Chiều cao của logo truyền vào. |
WIDTH_LOGO | int | Chiều rộng của logo truyền vào. |
CHANGE_COLOR | int | Mã màu thay đổi màu sắc của button trong SDK |
CHANGE_COLOR_HELP | int | Mã màu thay đổi màu sắc của hướng dẫn trong SDK |
CHANGE_TEXT_COLOR | int | Mã màu thay đổi màu sắc của text trong SDK |
COMPARE_FLOW | Boolean | Có thực hiện so sánh khuôn mặt hay không. |
CALL_ADD_FACE | Boolean | Có thực hiện đăng ký khuôn mặt hay không. Mặc đinh là false. |
VERIFY_FACE_FLOW | Boolean | Có thực hiện xác minh khuôn mặt hay không. |
Object
- IDENTITY_CARD(card_id, full_name, dob, gender, address, nationality, hometown)
- PASSPORT(card_id, passpord_id, full_name, dob, gender, nationality, hometown)
- MILITARY_CARD(military_id, full_name, dob, gender, nationality, hometown)
- DRIVER_LICENSE(driver_license_id, full_name, dob, gender, nationality, hometown)
Constant paramters
- DocumentType
- IDENTITY_CARD
- PASSPORT
- MILITARY_CARD
- DRIVER_LICENSE
- VersionSDK
- STANDARD
- ADVANCED
- CameraType
- FRONT
- BACK
- Language
- VIETNAMESE
- ENGLISH
- DocumentIdType
- IDENTITY_CARD
- PASSPORT
- DRIVER_LICENSE
- MILITARY_CARD
- POLICE_CARD