sprintcheckrn
Version:
SprintcheckRN: React Native SDK for identity verification (BVN, NIN, Facial) with Expo support
192 lines (124 loc) • 6.01 kB
Markdown
# SprintcheckRN
SprintcheckRN is a React Native SDK for identity verification, supporting BVN and NIN verification flows.
## Installation
SprintcheckRN includes native code for both Android and iOS. After installing, you must rebuild your app.
```
npm install sprintcheckrn
```
or
```
yarn add sprintcheckrn
```
## Native Module Linking
- For React Native >= 0.60, autolinking should work automatically.
- For older versions, link manually as per the React Native documentation.
## Post-Installation Steps
After installing the package, you must:
- For iOS:
1. Run `npx pod-install` or `cd ios && pod install`
2. Rebuild your app from Xcode or with `npx react-native run-ios`
- For Android:
1. Rebuild your app with `npx react-native run-android`
## Usage
```js
import SprintCheck from 'sprintcheckrn';
// Initialize SDK
SprintCheck.initialize('YOUR_API_KEY', 'YOUR_ENCRYPTION_KEY')
.then(() => console.log('Initialized'));
// Start BVN Verification
SprintCheck.startBvnVerification('user@email.com')
.then(result => console.log(result));
// Start NIN Verification
SprintCheck.startNinVerification('user@email.com')
.then(result => console.log(result));
// Start Facial Verification
SprintCheck.startFacialVerification('user@email.com')
.then(result => console.log(result));
```
## API
### initialize(apiKey: string, encryptionKey: string): Promise<void>
Initializes the SDK with your API credentials.
### startBvnVerification(email: string): Promise<any>
Starts the BVN verification flow for the provided email.
### startNinVerification(email: string): Promise<any>
Starts the NIN verification flow for the provided email.
### startFacialVerification(email: string): Promise<any>
Starts the facial verification flow for the provided email.
# Android Setup for SprintCheck
To use the SprintCheck SDK, you must add the required Maven repositories to your project's `android/settings.gradle` file. This is necessary for Gradle to resolve all dependencies used by SprintCheck and its underlying SDKs.
Add the following block to your `android/settings.gradle`:
```
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
repositories {
google()
mavenCentral()
maven { url = uri("https://jitpack.io") }
maven { url = uri("https://maven.regulaforensics.com/RegulaDocumentReader") }
}
}
```
If you do not add these repositories, your build may fail with errors about missing dependencies (e.g., `com.regula.face:api`).
## License
MIT
## Author
SamjiDiamond <samjidiamond@gmail.com>
# Getting Started
> **Note**: Make sure you have completed the [Set Up Your Environment](https://reactnative.dev/docs/set-up-your-environment) guide before proceeding.
## Step 1: Start Metro
First, you will need to run **Metro**, the JavaScript build tool for React Native.
To start the Metro dev server, run the following command from the root of your React Native project:
```sh
# Using npm
npm start
# OR using Yarn
yarn start
```
## Step 2: Build and run your app
With Metro running, open a new terminal window/pane from the root of your React Native project, and use one of the following commands to build and run your Android or iOS app:
### Android
```sh
# Using npm
npm run android
# OR using Yarn
yarn android
```
### iOS
For iOS, remember to install CocoaPods dependencies (this only needs to be run on first clone or after updating native deps).
The first time you create a new project, run the Ruby bundler to install CocoaPods itself:
```sh
bundle install
```
Then, and every time you update your native dependencies, run:
```sh
bundle exec pod install
```
For more information, please visit [CocoaPods Getting Started guide](https://guides.cocoapods.org/using/getting-started.html).
```sh
# Using npm
npm run ios
# OR using Yarn
yarn ios
```
If everything is set up correctly, you should see your new app running in the Android Emulator, iOS Simulator, or your connected device.
This is one way to run your app — you can also build it directly from Android Studio or Xcode.
## Step 3: Modify your app
Now that you have successfully run the app, let's make changes!
Open `App.tsx` in your text editor of choice and make some changes. When you save, your app will automatically update and reflect these changes — this is powered by [Fast Refresh](https://reactnative.dev/docs/fast-refresh).
When you want to forcefully reload, for example to reset the state of your app, you can perform a full reload:
- **Android**: Press the <kbd>R</kbd> key twice or select **"Reload"** from the **Dev Menu**, accessed via <kbd>Ctrl</kbd> + <kbd>M</kbd> (Windows/Linux) or <kbd>Cmd ⌘</kbd> + <kbd>M</kbd> (macOS).
- **iOS**: Press <kbd>R</kbd> in iOS Simulator.
## Congratulations! :tada:
You've successfully run and modified your React Native App. :partying_face:
### Now what?
- If you want to add this new React Native code to an existing application, check out the [Integration guide](https://reactnative.dev/docs/integration-with-existing-apps).
- If you're curious to learn more about React Native, check out the [docs](https://reactnative.dev/docs/getting-started).
# Troubleshooting
If you're having issues getting the above steps to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page.
# Learn More
To learn more about React Native, take a look at the following resources:
- [React Native Website](https://reactnative.dev) - learn more about React Native.
- [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment.
- [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**.
- [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts.
- [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native.