react-native-okhi
v2.0.19
Published
The OkHi React Native library enables you to collect and verify addresses from your users
Readme
react-native-okhi
Quick Start
1. Install
npm install react-native-okhi
# or
yarn add react-native-okhi2. Configure native projects
Install pods:
cd ios && pod install && cd ..Add to Info.plist:
<key>NSLocationWhenInUseUsageDescription</key>
<string>Grant to enable creating addresses at your current location.</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>Grant to enable creating and verifying your addresses.</string>Enable Background Modes in Xcode → Signing & Capabilities:
- ✅ Location updates
- ✅ Background fetch
Add to AppDelegate.mm:
@import OkHi;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[OK startMonitoring];
// ... rest of your code
}If using swift AppDelegate.swift:
import OkHi
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
) -> Bool {
OK.startMonitoring() // add this
return true
}
}Add OkHi Maven repository to android/build.gradle:
allprojects {
repositories {
maven { url "https://repo.okhi.io/artifactory/maven" }
}
}Add permissions to AndroidManifest.xml:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" android:foregroundServiceType="location" />Note: Requires a development build. This library won't work with Expo Go.
npx expo install react-native-okhi
npx expo prebuild
npx expo run:ios # or run:android3. Verify an address
import * as OkHi from 'react-native-okhi';
// Step 1
await OkHi.login({
auth: {
branchId: 'YOUR_BRANCH_ID',
clientKey: 'YOUR_CLIENT_KEY',
},
user: {
firstName: 'John',
lastName: 'Doe',
phone: '+254712345678',
email: '[email protected]',
},
});
// Step 2
const { user, location } = await OkHi.startDigitalAddressVerification();Full Example
import { Button, Text, View } from 'react-native';
import * as OkHi from 'react-native-okhi';
export default function Dashboard() {
useEffect(() => {
OkHi.login({
auth: { branchId: 'YOUR_BRANCH_ID', clientKey: 'YOUR_CLIENT_KEY' },
user: {
firstName: 'John',
lastName: 'Doe',
phone: '+254712345678',
email: '[email protected]',
},
}).then(() => console.log('user logged in'));
}, []);
const onButtonPress = async () => {
const { user, location } = await OkHi.startDigitalAddressVerification();
console.log(`started verification for: ${location.id}`);
};
return (
<View style={{ flex: 1, justifyContent: 'center', padding: 20 }}>
<Button title="Verify Address" onPress={onButtonPress} />
</View>
);
}Documentation
- Official Guide — Full integration guide
- AGENTS.md — AI agent integration reference
License
MIT © OkHi
