This package provides a React Native wrapper for the SEON Mobile SDK, allowing you to integrate SEON's Device Intelligence module into your React Native projects. It supports both Android and iOS platforms.
Install the package in your existing React Native project:
npm install @seontechnologies/seon-react-native-mobile-wrapper
Import the SEON wrapper in your JavaScript files:
import { SeonReactNativeMobileWrapper as Seon } from '@seontechnologies/seon-react-native-mobile-wrapper';
Here's a basic example of how to use the SEON wrapper:
// Replace 'YOUR_UNIQUE_SESSION_ID' with your actual session identifier.
await Seon.setSessionId('YOUR_UNIQUE_SESSION_ID');
// Enable logging (optional)
await Seon.setLoggingEnabled(true);
// Generate fingerprint
try {
const fingerprint = await Seon.getFingerprintBase64();
// Send 'fingeprint' to your backend and use it as the session property
// for your Fraud API request.
} catch (error) {
// Handle errors
}
The SEON SDK can monitor user behaviour to collect behaviour-based signals. It's recommended to run the monitoring for at least a few seconds to gather sufficient data.
await Seon.startBehaviourMonitoring();
// Stopping Behaviour Monitoring
try {
const behaviourData = await Seon.stopBehaviourMonitoring();
// Send 'behaviourData' to your backend and use it as the session property
// for your Fraud API request.
} catch (error) {
// Handle errors
}
The SEON SDK supports geolocation services. You can configure these services using the SeonGeolocationConfig
interface:
Ensure that your application has the necessary permissions to access location services. Update your app's configuration files and request permissions at runtime.
Add the following keys to your Info.plist file with appropriate usage descriptions:
- NSLocationWhenInUseUsageDescription
- NSLocationAlwaysAndWhenInUseUsageDescription (if needed)
Add the following permissions to your AndroidManifest.xml:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
await Seon.setGeolocationEnabled(true);
OR
const geolocationConfig = {
prefetchEnabled: true,
geolocationServiceTimeoutMs: 5000, // in milliseconds
maxGeoLocationCacheAgeSec: 300, // in seconds
geolocationEnabled: true,
};
await Seon.setGeoLocationConfig(geolocationConfig);
-
prefetchEnabled
: When enabled, SEON pre-fetches location on creation of a SeonReactNativeMobileWrapper object for better performance. -
geolocationServiceTimeoutMs
: Network timeout for SEON's geolocation services in milliseconds. Default is 3000. -
maxGeoLocationCacheAgeSec
: Maximum location data age permitted in seconds. Default is 600. -
geolocationEnabled
: Enables or disables SEON's geolocation services.
- Make sure you have the necessary permissions set up in your Android and iOS projects for geolocation services if you plan to use them.
All methods return promises, so you can use try-catch blocks or .catch() to handle any errors that might occur during the SDK operations. For the possible errors and statuses please visit the SDK repositories.
Please note that if a Geolocation error occur, the SDK should still return a valid fingerprint object which can be used as the session property for the regular Fraud API requests if needed.
For more detailed information about the iOS and Android SDKs, please refer to their respective GitHub repositories:
If you encounter any issues or have questions about the SEON Mobile SDK React Native Wrapper, please contact SEON support or refer to the official SDK documentations.
- Upgraded to Android SDK v6.7.0. For more detailed change logs please visit the SDK repository.
- Upgraded to iOS SDK v5.6.0. For more detailed change logs please visit the SDK repository.
- Fixed Old Architecture bug when there's no explicit geolocation config set.
IMPORTANT: Introduces support for React's New Architecture. The module has been tested with React Native v0.78.0
- Upgraded to Android SDK v6.6.1. For more detailed change logs please visit the SDK repository.
- Upgraded to iOS SDK v5.5.2. For more detailed change logs please visit the SDK repository.
- Internal changes to support the New Architecture.
IMPORTANT: This version is going to introduce a new Fraud API response field named true_device_id.
- Upgraded to Android SDK v6.6.0. For more detailed change logs please visit the SDK repository.
- Upgraded to iOS SDK v5.5.1. For more detailed change logs please visit the SDK repository.
- Unified GeolocationConfig object, it now has full availability on iOS as well.
- Added geolocationEnabled chain to the configuration builder on Android.
- Unified error messages.
- Added status codes to error messages.
- Added support to SEON's Geofence API.