Socket
Socket
Sign inDemoInstall

@okhi/react-native-okverify

Package Overview
Dependencies
1
Maintainers
2
Versions
18
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @okhi/react-native-okverify

The OkVerify Android library enables you to verify a user's OkHi address


Version published
Weekly downloads
17
increased by1600%
Maintainers
2
Install size
0.977 MB
Created
Weekly downloads
 

Readme

Source

@okhi/react-native-okverify

The OkVerify Android library enables you to verify a user's OkHi address

Prerequisite libraries

  • @okhi/react-native-core
  • @okhi/react-native-okcollect

Installation

npm install @okhi/react-native-okverify

Usage

initialisation

Run the init method once on app start. Place this in your index.js file.

import { AppRegistry } from 'react-native';
import App from './src/App';
import { name as appName } from './app.json';
import * as OkVerify from '@okhi/react-native-okverify';

// init method takes in an optional notification configuration that'll be used
// to start a foreground service in order to transmit verification
// signals to OkHi servers.

OkVerify.init({
  title: 'Verification in progress',
  text: 'Verification in progress',
  channelDescription: 'OkHi verification status updates',
  channelId: 'okhi',
  channelName: 'OkHi Verification',
});

// OkVerify.init();

AppRegistry.registerComponent(appName, () => App);

implementation

import React, { useState } from 'react';
import { Button, Rationale } from 'react-native';
import {
  OkHiException,
  OkHiUser,
  requestLocationPermission,
} from '@okhi/react-native-core';
import OkHiLocationManager, {
  OkCollectSuccessResponse,
} from '@okhi/react-native-okcollect';
import {
  canStartVerification,
  startVerification,
} from '@okhi/react-native-okverify';

function App() {
  const [launch, setLaunch] = React.useState(false);

  const locationPermissionRationale: Rationale = {
    message:
      'Hey, we need permissions to enable you create addresses at your current location',
    title: 'Location permission required',
    buttonPositive: 'Grant',
  };

  useEffect(() => {
    // location permission is required to enable users to create
    // addresses at their current location
    async function requestPermission() {
      await requestLocationPermission(locationPermissionRationale);
    }
    requestPermission();
  }, []);

  const user: OkHiUser = {
    firstName: 'Bob',
    lastName: 'Mark',
    phone: '+254712345678', // Make sure its in MSISDN standard format
  };

  const handleOnSuccess = async (response: OkCollectSuccessResponse) => {
    setLaunch(false);
    try {
      // setting requestServices to true will request any missing permission
      // or any unavailable service to be turned on by the user on your behalf
      const canStart = await canStartVerification({
        requestServices: true,
        locationPermissionRationale,
      });
      if (canStart) {
        const result = await startVerification(response);
        console.log('Started verification for: ' + result);
      }
    } catch (error) {
      console.log(error.code);
      console.log(error.message);
    }
  };

  const handleOnError = (error: OkHiException) => {
    setLaunch(false);
    console.log(error.code);
    console.log(error.message);
  };

  // called when user taps on the top right close button
  const handleOnCloseRequest = () => {
    setLaunch(false);
  };

  return (
    <View style={{ flex: 1 }}>
      <Button onPress={() => setLaunch(true)} title="Start Verification" />
      <OkHiLocationManager
        user={user}
        onSuccess={handleOnSuccess}
        onError={handleOnError}
        onCloseRequest={handleOnCloseRequest}
        launch={launch}
      />
    </View>
  );
}

Documentation

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT

Keywords

FAQs

Last updated on 17 Sep 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc