facia-mobilesdk v0.6.8
Table of contents
1. Introduction
This is the cores React Native Plugin which provides 3D Liveness & Match to Photo ID features. This plugin captures proofs for the required feature and sends to the API to get the result.
This plugin provides two types of verification:
1. 3D Liveness
Facia will detect user's face and after capturing proof it will send the request to the API to check Face Liveness, this request maybe of Quick Liveness, Detailed Liveness, Additional Liveness or Default Liveness.
The SDK provides 4 types of 3D Liveness Verification: Quick Liveness SDK will capture a single frame after detecting the face and will send it to API for checking Liveness.
Detailed Liveness SDK will record a video after detecting the face and will send it to API for checking Liveness.
Additional Liveness SDK will capture a single frame and will check its liveness through API, if liveness is rejected it will move to the Additional Liveness.
Default Liveness SDK will work as Additional liveness if the device is not rooted, if the device is rooted, it will take the user directly to the detailed liveness.
2. Match to Photo ID
SDK will verify the Liveness through Quick Liveness process, if liveness will verify it will capture the document to check the Face image with the image on the document.
2. Scope:
The scope of this document is solely for the developer's understanding of the code structure.
3. Purpose
This document has been compiled to assist developers and technical experts in the integration of Facia’s API with their mobile-based platforms and applications.
This guide has been designed to explain the use of verification services and the technical processes involved in the authentication process. Users are apprised of the different kinds of verification data that is required by the API, as well as the data formats that are required to forward verification data.
4. Technology Stack
4.1 Supported Platform
Android 5.0 (API level 21) or higher
iOS 11 or higher.
4.2 General requirements
Internet connection
Supported architectures in SDK:
4.3 Permissions
Only Camera permission is required by Facia to function properly.
4.4 Installation
- To integrate React native plugin follow the integration guide here
4.5 Development Environment Setup:
4.6 Development Structure:
4.7 Code Architecture:
The React plugin is basically a bridging between Android and IOS native SDKs into react native module. The structure followed in Android and IOS modules is MVC.
4.8 Branches:
The complete details of all the branches of React Native repository can be found here
5. Features/EndPoints
React Native plugin does not uses any specific endpoint, instead native android and iOS modules are integrated in this plugin. So, all the endpoints in native SDKs are used in this.
5.1 Create Transaction API
This is the main API of mobile application in which after capturing proofs we are submitting the proofs, this API is used for QL, DL & Photo to ID Match.
https://app.facia.ai/backend/api/transaction/create-transaction
5.2 Check Liveness API
This API is used to send the captured proofs of QL & DL in case of Additional liveness if QL is failed, basically when QL is failed in case of Additional liveness, we have to send QL' proof too with the DL proof for the session record.
5.3 Liveness Result API
This API is used to get the result of 3D liveness request.
https://app.facia.ai/backend/api/transaction/liveness-result
5.4 Feedback API
SDK takes the user' feedback after getting the result, this API is used to submit the feedback.
https://app.facia.ai/backend/api/transaction/create-feedback
6. Dependencies
No specific dependency is used in React Native plugin. Only the native SDKs are included in react native module.
7. Environment:
Local
This environment is used for development and local testing before pushing the code to live environments. In local build, the SDKs are tested by directly installing the Facia module into the real devices or emulator.
Production Environment:
This environment is a live environment that is used by the general public and this must be 100% bug-free.
How to push/live change:
Clone or pull the project from desired git repository.
Make the changes you want to made
Update the version in package.json file
Update the CHANGELOG.md file.
Make sure to check no credentials or unnecessary logs are present in wrapper files.
Run the "npm login" command on terminal and login using Support@facia.ai credentials.
Publish the package on NPM using "npm publish".
The react-native plugin is now published on npmjs.
Now, update demo app and documentation(update history and react plugin verison). Push demo app to github and update documentation on https://developers.facia.ai/
8. Revision History:
SDK Versions | Changes |
---|---|
0.6.0 | Material design updated. |
0.5.9 | Dim light feature added. |
0.5.5 | Liveness instructions updated. |
0.5.3 | Android' gradle updated. |
1.0.0 | React native plugin |
6 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago