react-native-shield-fraud-plugin 2.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +1 -1
- package/lib/commonjs/index.js +12 -12
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +13 -13
- package/lib/module/index.js.map +1 -1
- package/package.json +3 -3
- package/react-native-shield-fraud-plugin.podspec +1 -1
- package/src/index.tsx +16 -16
package/android/build.gradle
CHANGED
|
@@ -99,5 +99,5 @@ dependencies {
|
|
|
99
99
|
implementation "com.facebook.react:react-native:+"
|
|
100
100
|
|
|
101
101
|
// Shield Fraud SDK 2.x — factory-based init, callback-based device intelligence
|
|
102
|
-
implementation 'com.shield.android:shield-fraud:2.
|
|
102
|
+
implementation 'com.shield.android:shield-fraud:2.5.0'
|
|
103
103
|
}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -9,7 +9,7 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
* Resolve the native module through TurboModuleRegistry (New Architecture)
|
|
10
10
|
* with a fallback to NativeModules bridge (Old Architecture).
|
|
11
11
|
*/
|
|
12
|
-
const ShieldFraudPluginNativeModule = _reactNative.TurboModuleRegistry.get(
|
|
12
|
+
const ShieldFraudPluginNativeModule = _reactNative.TurboModuleRegistry.get('ShieldFraudPlugin') ?? _reactNative.NativeModules.ShieldFraudPlugin;
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Enum representing the log levels for ShieldFraud.
|
|
@@ -83,7 +83,7 @@ class ShieldFraud {
|
|
|
83
83
|
// blockScreenRecording is Android-only; iOS native ignores the value.
|
|
84
84
|
// Always send a real boolean — the Old Arch bridge cannot handle null
|
|
85
85
|
// for boolean parameters (causes NPE in ReadableNativeArray.getBoolean).
|
|
86
|
-
const blockScreenRecording = _reactNative.Platform.OS ===
|
|
86
|
+
const blockScreenRecording = _reactNative.Platform.OS === 'android' ? config.blockScreenRecording ?? false : false;
|
|
87
87
|
|
|
88
88
|
// Call the native method to initialize ShieldFraud with the provided configuration.
|
|
89
89
|
await ShieldFraud.PlatformWrapper.initShield(config.siteID, config.secretKey, isOptimizedListener, config.blockedDialog ?? null, logLevel, environmentInfo, blockScreenRecording);
|
|
@@ -98,8 +98,8 @@ class ShieldFraud {
|
|
|
98
98
|
* The cross-platform name and the version is fetched from package.json.
|
|
99
99
|
*/
|
|
100
100
|
static setCrossPlatformParameters() {
|
|
101
|
-
const crossPlatformName =
|
|
102
|
-
const crossPlatformVersion =
|
|
101
|
+
const crossPlatformName = 'react-native-shield-fraud-plugin';
|
|
102
|
+
const crossPlatformVersion = '2.1.0';
|
|
103
103
|
ShieldFraud.PlatformWrapper.setCrossPlatformParameters(crossPlatformName, crossPlatformVersion);
|
|
104
104
|
}
|
|
105
105
|
|
|
@@ -110,14 +110,14 @@ class ShieldFraud {
|
|
|
110
110
|
*/
|
|
111
111
|
static listeners(callbacks) {
|
|
112
112
|
// Listen for success events and invoke the onSuccess callback if provided.
|
|
113
|
-
ShieldFraud.eventEmitter.addListener(
|
|
113
|
+
ShieldFraud.eventEmitter.addListener('success', data => {
|
|
114
114
|
if (callbacks !== null && callbacks !== void 0 && callbacks.onSuccess) {
|
|
115
115
|
callbacks.onSuccess(data);
|
|
116
116
|
}
|
|
117
117
|
});
|
|
118
118
|
|
|
119
119
|
// Listen for error events and invoke the onFailure callback if provided.
|
|
120
|
-
ShieldFraud.eventEmitter.addListener(
|
|
120
|
+
ShieldFraud.eventEmitter.addListener('error', error => {
|
|
121
121
|
if (callbacks !== null && callbacks !== void 0 && callbacks.onFailure) {
|
|
122
122
|
callbacks.onFailure(error);
|
|
123
123
|
}
|
|
@@ -153,7 +153,7 @@ class ShieldFraud {
|
|
|
153
153
|
* - `isReady` (boolean): true when the SDK has produced a device result.
|
|
154
154
|
*/
|
|
155
155
|
static async isSDKready(callback) {
|
|
156
|
-
if (_reactNative.Platform.OS ===
|
|
156
|
+
if (_reactNative.Platform.OS === 'android') {
|
|
157
157
|
const isInitialized = await this.isShieldInitialized();
|
|
158
158
|
callback(isInitialized);
|
|
159
159
|
return;
|
|
@@ -163,22 +163,22 @@ class ShieldFraud {
|
|
|
163
163
|
await new Promise(resolve => setTimeout(resolve, 100));
|
|
164
164
|
const isInitialized = await this.isShieldInitialized();
|
|
165
165
|
if (!isInitialized) {
|
|
166
|
-
console.log(
|
|
166
|
+
console.log('Shield SDK not initialized:');
|
|
167
167
|
callback(false);
|
|
168
168
|
return;
|
|
169
169
|
}
|
|
170
170
|
const deviceResultListener = event => {
|
|
171
|
-
if (event.status ===
|
|
172
|
-
ShieldFraud.eventEmitter.removeAllListeners(
|
|
171
|
+
if (event.status === 'isSDKReady') {
|
|
172
|
+
ShieldFraud.eventEmitter.removeAllListeners('device_result_state');
|
|
173
173
|
callback(true);
|
|
174
174
|
}
|
|
175
175
|
};
|
|
176
|
-
ShieldFraud.eventEmitter.addListener(
|
|
176
|
+
ShieldFraud.eventEmitter.addListener('device_result_state', deviceResultListener);
|
|
177
177
|
|
|
178
178
|
// Trigger the SDK subscription — iOS 1.x requires this explicit call.
|
|
179
179
|
ShieldFraud.PlatformWrapper.setDeviceResultStateListener();
|
|
180
180
|
} catch (error) {
|
|
181
|
-
console.error(
|
|
181
|
+
console.error('An error occurred:', error);
|
|
182
182
|
callback(false);
|
|
183
183
|
}
|
|
184
184
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","ShieldFraudPluginNativeModule","TurboModuleRegistry","get","NativeModules","ShieldFraudPlugin","LogLevel","exports","EnvironmentInfo","ShieldFraud","PlatformWrapper","eventEmitter","NativeEventEmitter","initShield","config","callbacks","isOptimizedListener","logLevel","LogLevelNone","environmentInfo","EnvironmentProd","setCrossPlatformParameters","blockScreenRecording","Platform","OS","siteID","secretKey","blockedDialog","listeners","crossPlatformName","crossPlatformVersion","addListener","data","onSuccess","error","onFailure","getSessionId","isShieldInitialized","isSDKready","callback","isInitialized","Promise","resolve","setTimeout","console","log","deviceResultListener","event","status","removeAllListeners","setDeviceResultStateListener","sendAttributes","screenName","sendAttributesWithCallback","reject","result","getLatestDeviceResult","sendDeviceSignature","_default","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAOA;AACA;AACA;AACA;AACA,MAAMC,6BAA6B,GACjCC,gCAAmB,CAACC,GAAG,CAAM,mBAAmB,CAAC,IACjDC,0BAAa,CAACC,iBAAiB;;AAEjC;AACA;AACA;AAFA,IAGYC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAOpB;AACA;AACA;AAFAC,OAAA,CAAAD,QAAA,GAAAA,QAAA;AAAA,IAGYE,eAAe,0BAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA,OAGD;AAG1B;AACA;AACA;AAkBA;AACA;AACA;AAGA;AACA;AACA;AAGA;AACA;AACA;AAFAD,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAQA;AACA;AACA;AACA;AACA;AACA,MAAMC,WAAW,CAAC;EAChB;AACF;AACA;AACA;AACA;EACE,OAAeC,eAAe,GAAGT,6BAA6B;;EAE9D;AACF;AACA;EACE,OAAeU,YAAY,GAAG,IAAIC,+BAAkB,CAClDH,WAAW,CAACC,eAAe,CAC5B;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,aAAoBG,UAAUA,CAC5BC,MAAc,EACdC,SAA0B,EACX;IACf,MAAMC,mBAAmB,GAAG,CAAC,CAACD,SAAS;;IAEvC;IACA,MAAME,QAAQ,GAAGH,MAAM,CAACG,QAAQ,IAAIX,QAAQ,CAACY,YAAY;;IAEzD;IACA,MAAMC,eAAe,GACnBL,MAAM,CAACK,eAAe,IAAIX,eAAe,CAACY,eAAe;;IAE3D;IACAX,WAAW,CAACY,0BAA0B,EAAE;;IAExC;IACA;IACA;IACA,MAAMC,oBAAoB,GACxBC,qBAAQ,CAACC,EAAE,KAAK,SAAS,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","ShieldFraudPluginNativeModule","TurboModuleRegistry","get","NativeModules","ShieldFraudPlugin","LogLevel","exports","EnvironmentInfo","ShieldFraud","PlatformWrapper","eventEmitter","NativeEventEmitter","initShield","config","callbacks","isOptimizedListener","logLevel","LogLevelNone","environmentInfo","EnvironmentProd","setCrossPlatformParameters","blockScreenRecording","Platform","OS","siteID","secretKey","blockedDialog","listeners","crossPlatformName","crossPlatformVersion","addListener","data","onSuccess","error","onFailure","getSessionId","isShieldInitialized","isSDKready","callback","isInitialized","Promise","resolve","setTimeout","console","log","deviceResultListener","event","status","removeAllListeners","setDeviceResultStateListener","sendAttributes","screenName","sendAttributesWithCallback","reject","result","getLatestDeviceResult","sendDeviceSignature","_default","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
|
package/lib/module/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { NativeModules, NativeEventEmitter, Platform, TurboModuleRegistry } from
|
|
1
|
+
import { NativeModules, NativeEventEmitter, Platform, TurboModuleRegistry } from 'react-native';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Resolve the native module through TurboModuleRegistry (New Architecture)
|
|
5
5
|
* with a fallback to NativeModules bridge (Old Architecture).
|
|
6
6
|
*/
|
|
7
|
-
const ShieldFraudPluginNativeModule = TurboModuleRegistry.get(
|
|
7
|
+
const ShieldFraudPluginNativeModule = TurboModuleRegistry.get('ShieldFraudPlugin') ?? NativeModules.ShieldFraudPlugin;
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Enum representing the log levels for ShieldFraud.
|
|
@@ -82,7 +82,7 @@ class ShieldFraud {
|
|
|
82
82
|
// blockScreenRecording is Android-only; iOS native ignores the value.
|
|
83
83
|
// Always send a real boolean — the Old Arch bridge cannot handle null
|
|
84
84
|
// for boolean parameters (causes NPE in ReadableNativeArray.getBoolean).
|
|
85
|
-
const blockScreenRecording = Platform.OS ===
|
|
85
|
+
const blockScreenRecording = Platform.OS === 'android' ? config.blockScreenRecording ?? false : false;
|
|
86
86
|
|
|
87
87
|
// Call the native method to initialize ShieldFraud with the provided configuration.
|
|
88
88
|
await ShieldFraud.PlatformWrapper.initShield(config.siteID, config.secretKey, isOptimizedListener, config.blockedDialog ?? null, logLevel, environmentInfo, blockScreenRecording);
|
|
@@ -97,8 +97,8 @@ class ShieldFraud {
|
|
|
97
97
|
* The cross-platform name and the version is fetched from package.json.
|
|
98
98
|
*/
|
|
99
99
|
static setCrossPlatformParameters() {
|
|
100
|
-
const crossPlatformName =
|
|
101
|
-
const crossPlatformVersion =
|
|
100
|
+
const crossPlatformName = 'react-native-shield-fraud-plugin';
|
|
101
|
+
const crossPlatformVersion = '2.1.0';
|
|
102
102
|
ShieldFraud.PlatformWrapper.setCrossPlatformParameters(crossPlatformName, crossPlatformVersion);
|
|
103
103
|
}
|
|
104
104
|
|
|
@@ -109,14 +109,14 @@ class ShieldFraud {
|
|
|
109
109
|
*/
|
|
110
110
|
static listeners(callbacks) {
|
|
111
111
|
// Listen for success events and invoke the onSuccess callback if provided.
|
|
112
|
-
ShieldFraud.eventEmitter.addListener(
|
|
112
|
+
ShieldFraud.eventEmitter.addListener('success', data => {
|
|
113
113
|
if (callbacks !== null && callbacks !== void 0 && callbacks.onSuccess) {
|
|
114
114
|
callbacks.onSuccess(data);
|
|
115
115
|
}
|
|
116
116
|
});
|
|
117
117
|
|
|
118
118
|
// Listen for error events and invoke the onFailure callback if provided.
|
|
119
|
-
ShieldFraud.eventEmitter.addListener(
|
|
119
|
+
ShieldFraud.eventEmitter.addListener('error', error => {
|
|
120
120
|
if (callbacks !== null && callbacks !== void 0 && callbacks.onFailure) {
|
|
121
121
|
callbacks.onFailure(error);
|
|
122
122
|
}
|
|
@@ -152,7 +152,7 @@ class ShieldFraud {
|
|
|
152
152
|
* - `isReady` (boolean): true when the SDK has produced a device result.
|
|
153
153
|
*/
|
|
154
154
|
static async isSDKready(callback) {
|
|
155
|
-
if (Platform.OS ===
|
|
155
|
+
if (Platform.OS === 'android') {
|
|
156
156
|
const isInitialized = await this.isShieldInitialized();
|
|
157
157
|
callback(isInitialized);
|
|
158
158
|
return;
|
|
@@ -162,22 +162,22 @@ class ShieldFraud {
|
|
|
162
162
|
await new Promise(resolve => setTimeout(resolve, 100));
|
|
163
163
|
const isInitialized = await this.isShieldInitialized();
|
|
164
164
|
if (!isInitialized) {
|
|
165
|
-
console.log(
|
|
165
|
+
console.log('Shield SDK not initialized:');
|
|
166
166
|
callback(false);
|
|
167
167
|
return;
|
|
168
168
|
}
|
|
169
169
|
const deviceResultListener = event => {
|
|
170
|
-
if (event.status ===
|
|
171
|
-
ShieldFraud.eventEmitter.removeAllListeners(
|
|
170
|
+
if (event.status === 'isSDKReady') {
|
|
171
|
+
ShieldFraud.eventEmitter.removeAllListeners('device_result_state');
|
|
172
172
|
callback(true);
|
|
173
173
|
}
|
|
174
174
|
};
|
|
175
|
-
ShieldFraud.eventEmitter.addListener(
|
|
175
|
+
ShieldFraud.eventEmitter.addListener('device_result_state', deviceResultListener);
|
|
176
176
|
|
|
177
177
|
// Trigger the SDK subscription — iOS 1.x requires this explicit call.
|
|
178
178
|
ShieldFraud.PlatformWrapper.setDeviceResultStateListener();
|
|
179
179
|
} catch (error) {
|
|
180
|
-
console.error(
|
|
180
|
+
console.error('An error occurred:', error);
|
|
181
181
|
callback(false);
|
|
182
182
|
}
|
|
183
183
|
}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","NativeEventEmitter","Platform","TurboModuleRegistry","ShieldFraudPluginNativeModule","get","ShieldFraudPlugin","LogLevel","EnvironmentInfo","ShieldFraud","PlatformWrapper","eventEmitter","initShield","config","callbacks","isOptimizedListener","logLevel","LogLevelNone","environmentInfo","EnvironmentProd","setCrossPlatformParameters","blockScreenRecording","OS","siteID","secretKey","blockedDialog","listeners","crossPlatformName","crossPlatformVersion","addListener","data","onSuccess","error","onFailure","getSessionId","isShieldInitialized","isSDKready","callback","isInitialized","Promise","resolve","setTimeout","console","log","deviceResultListener","event","status","removeAllListeners","setDeviceResultStateListener","sendAttributes","screenName","sendAttributesWithCallback","reject","result","getLatestDeviceResult","sendDeviceSignature"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SACEA,aAAa,EACbC,kBAAkB,EAClBC,QAAQ,EACRC,mBAAmB,QACd,cAAc;;AAErB;AACA;AACA;AACA;AACA,MAAMC,6BAA6B,GACjCD,mBAAmB,CAACE,GAAG,CAAM,mBAAmB,CAAC,IACjDL,aAAa,CAACM,iBAAiB;;AAEjC;AACA;AACA;AACA,WAAYC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;;AAOpB;AACA;AACA;AACA,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA,OAGD;;AAG1B;AACA;AACA;;AAkBA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA,MAAMC,WAAW,CAAC;EAChB;AACF;AACA;AACA;AACA;EACE,OAAeC,eAAe,GAAGN,6BAA6B;;EAE9D;AACF;AACA;EACE,OAAeO,YAAY,GAAG,IAAIV,kBAAkB,CAClDQ,WAAW,CAACC,eAAe,CAC5B;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,aAAoBE,UAAUA,CAC5BC,MAAc,EACdC,SAA0B,EACX;IACf,MAAMC,mBAAmB,GAAG,CAAC,CAACD,SAAS;;IAEvC;IACA,MAAME,QAAQ,GAAGH,MAAM,CAACG,QAAQ,IAAIT,QAAQ,CAACU,YAAY;;IAEzD;IACA,MAAMC,eAAe,GACnBL,MAAM,CAACK,eAAe,IAAIV,eAAe,CAACW,eAAe;;IAE3D;IACAV,WAAW,CAACW,0BAA0B,EAAE;;IAExC;IACA;IACA;IACA,MAAMC,oBAAoB,GACxBnB,QAAQ,CAACoB,EAAE,KAAK,SAAS,
|
|
1
|
+
{"version":3,"names":["NativeModules","NativeEventEmitter","Platform","TurboModuleRegistry","ShieldFraudPluginNativeModule","get","ShieldFraudPlugin","LogLevel","EnvironmentInfo","ShieldFraud","PlatformWrapper","eventEmitter","initShield","config","callbacks","isOptimizedListener","logLevel","LogLevelNone","environmentInfo","EnvironmentProd","setCrossPlatformParameters","blockScreenRecording","OS","siteID","secretKey","blockedDialog","listeners","crossPlatformName","crossPlatformVersion","addListener","data","onSuccess","error","onFailure","getSessionId","isShieldInitialized","isSDKready","callback","isInitialized","Promise","resolve","setTimeout","console","log","deviceResultListener","event","status","removeAllListeners","setDeviceResultStateListener","sendAttributes","screenName","sendAttributesWithCallback","reject","result","getLatestDeviceResult","sendDeviceSignature"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-shield-fraud-plugin",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "React Native Shield Fraud Plugin helps developers to assess malicious activities performed on mobile devices and return risk intelligence based on user's behaviour. It collects device's fingerprint, social metrics and network information.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
"license": "MIT",
|
|
50
50
|
"homepage": "https://github.com/shield-ai-technology/react-native-shield-fraud-plugin#readme",
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@evilmartians/lefthook": "^1.2.2",
|
|
53
52
|
"@commitlint/config-conventional": "^17.0.2",
|
|
53
|
+
"@evilmartians/lefthook": "^1.2.2",
|
|
54
54
|
"@react-native-community/eslint-config": "^3.0.2",
|
|
55
55
|
"@release-it/conventional-changelog": "^5.0.0",
|
|
56
56
|
"@types/jest": "^28.1.2",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"prettier": "^2.0.5",
|
|
67
67
|
"react": "18.2.0",
|
|
68
68
|
"react-native": "0.71.7",
|
|
69
|
-
"react-native-builder-bob": "^0.20.
|
|
69
|
+
"react-native-builder-bob": "^0.20.4",
|
|
70
70
|
"release-it": "^15.0.0",
|
|
71
71
|
"typescript": "^4.5.2"
|
|
72
72
|
},
|
package/src/index.tsx
CHANGED
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
NativeEventEmitter,
|
|
4
4
|
Platform,
|
|
5
5
|
TurboModuleRegistry,
|
|
6
|
-
} from
|
|
6
|
+
} from 'react-native';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Resolve the native module through TurboModuleRegistry (New Architecture)
|
|
10
10
|
* with a fallback to NativeModules bridge (Old Architecture).
|
|
11
11
|
*/
|
|
12
12
|
const ShieldFraudPluginNativeModule =
|
|
13
|
-
TurboModuleRegistry.get<any>(
|
|
13
|
+
TurboModuleRegistry.get<any>('ShieldFraudPlugin') ??
|
|
14
14
|
NativeModules.ShieldFraudPlugin;
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -27,8 +27,8 @@ export enum LogLevel {
|
|
|
27
27
|
* Enum representing the environment information for ShieldFraud.
|
|
28
28
|
*/
|
|
29
29
|
export enum EnvironmentInfo {
|
|
30
|
-
EnvironmentProd = 0,
|
|
31
|
-
EnvironmentDev = 1,
|
|
30
|
+
EnvironmentProd = 0, // Environment.PROD
|
|
31
|
+
EnvironmentDev = 1, // Environment.DEV
|
|
32
32
|
EnvironmentStaging = 2, // Environment.STAGING
|
|
33
33
|
}
|
|
34
34
|
|
|
@@ -108,7 +108,7 @@ class ShieldFraud {
|
|
|
108
108
|
// Set default values if environmentInfo is not provided
|
|
109
109
|
const environmentInfo =
|
|
110
110
|
config.environmentInfo || EnvironmentInfo.EnvironmentProd;
|
|
111
|
-
|
|
111
|
+
|
|
112
112
|
// Set cross-platform parameters internally (React Native and version from package.json)
|
|
113
113
|
ShieldFraud.setCrossPlatformParameters();
|
|
114
114
|
|
|
@@ -116,7 +116,7 @@ class ShieldFraud {
|
|
|
116
116
|
// Always send a real boolean — the Old Arch bridge cannot handle null
|
|
117
117
|
// for boolean parameters (causes NPE in ReadableNativeArray.getBoolean).
|
|
118
118
|
const blockScreenRecording =
|
|
119
|
-
Platform.OS ===
|
|
119
|
+
Platform.OS === 'android' ? config.blockScreenRecording ?? false : false;
|
|
120
120
|
|
|
121
121
|
// Call the native method to initialize ShieldFraud with the provided configuration.
|
|
122
122
|
await ShieldFraud.PlatformWrapper.initShield(
|
|
@@ -140,8 +140,8 @@ class ShieldFraud {
|
|
|
140
140
|
* The cross-platform name and the version is fetched from package.json.
|
|
141
141
|
*/
|
|
142
142
|
private static setCrossPlatformParameters(): void {
|
|
143
|
-
const crossPlatformName =
|
|
144
|
-
const crossPlatformVersion =
|
|
143
|
+
const crossPlatformName = 'react-native-shield-fraud-plugin';
|
|
144
|
+
const crossPlatformVersion = '2.1.0';
|
|
145
145
|
|
|
146
146
|
ShieldFraud.PlatformWrapper.setCrossPlatformParameters(
|
|
147
147
|
crossPlatformName,
|
|
@@ -156,14 +156,14 @@ class ShieldFraud {
|
|
|
156
156
|
*/
|
|
157
157
|
private static listeners(callbacks?: ShieldCallback): void {
|
|
158
158
|
// Listen for success events and invoke the onSuccess callback if provided.
|
|
159
|
-
ShieldFraud.eventEmitter.addListener(
|
|
159
|
+
ShieldFraud.eventEmitter.addListener('success', (data) => {
|
|
160
160
|
if (callbacks?.onSuccess) {
|
|
161
161
|
callbacks.onSuccess(data);
|
|
162
162
|
}
|
|
163
163
|
});
|
|
164
164
|
|
|
165
165
|
// Listen for error events and invoke the onFailure callback if provided.
|
|
166
|
-
ShieldFraud.eventEmitter.addListener(
|
|
166
|
+
ShieldFraud.eventEmitter.addListener('error', (error) => {
|
|
167
167
|
if (callbacks?.onFailure) {
|
|
168
168
|
callbacks.onFailure(error);
|
|
169
169
|
}
|
|
@@ -201,7 +201,7 @@ class ShieldFraud {
|
|
|
201
201
|
public static async isSDKready(
|
|
202
202
|
callback: (isReady: boolean) => void
|
|
203
203
|
): Promise<void> {
|
|
204
|
-
|
|
204
|
+
if (Platform.OS === 'android') {
|
|
205
205
|
const isInitialized = await this.isShieldInitialized();
|
|
206
206
|
callback(isInitialized);
|
|
207
207
|
return;
|
|
@@ -214,27 +214,27 @@ class ShieldFraud {
|
|
|
214
214
|
const isInitialized = await this.isShieldInitialized();
|
|
215
215
|
|
|
216
216
|
if (!isInitialized) {
|
|
217
|
-
console.log(
|
|
217
|
+
console.log('Shield SDK not initialized:');
|
|
218
218
|
callback(false);
|
|
219
219
|
return;
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
const deviceResultListener = (event: { status: string }) => {
|
|
223
|
-
if (event.status ===
|
|
224
|
-
ShieldFraud.eventEmitter.removeAllListeners(
|
|
223
|
+
if (event.status === 'isSDKReady') {
|
|
224
|
+
ShieldFraud.eventEmitter.removeAllListeners('device_result_state');
|
|
225
225
|
callback(true);
|
|
226
226
|
}
|
|
227
227
|
};
|
|
228
228
|
|
|
229
229
|
ShieldFraud.eventEmitter.addListener(
|
|
230
|
-
|
|
230
|
+
'device_result_state',
|
|
231
231
|
deviceResultListener
|
|
232
232
|
);
|
|
233
233
|
|
|
234
234
|
// Trigger the SDK subscription — iOS 1.x requires this explicit call.
|
|
235
235
|
ShieldFraud.PlatformWrapper.setDeviceResultStateListener();
|
|
236
236
|
} catch (error) {
|
|
237
|
-
console.error(
|
|
237
|
+
console.error('An error occurred:', error);
|
|
238
238
|
callback(false);
|
|
239
239
|
}
|
|
240
240
|
}
|