react-native-shield-fraud-plugin 1.0.5 → 1.0.6

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.
@@ -4,10 +4,12 @@ import android.app.Activity;
4
4
 
5
5
  import androidx.annotation.NonNull;
6
6
 
7
+ import com.facebook.react.bridge.Arguments;
7
8
  import com.facebook.react.bridge.Promise;
8
9
  import com.facebook.react.bridge.ReactApplicationContext;
9
10
  import com.facebook.react.bridge.ReactContextBaseJavaModule;
10
11
  import com.facebook.react.bridge.ReactMethod;
12
+ import com.facebook.react.bridge.WritableMap;
11
13
  import com.facebook.react.module.annotations.ReactModule;
12
14
 
13
15
  import com.facebook.react.bridge.Callback;
@@ -121,17 +123,23 @@ public class ShieldFraudPluginModule extends ReactContextBaseJavaModule implemen
121
123
  }
122
124
 
123
125
  @ReactMethod
124
- public void setDeviceResultStateListener(Callback callback) {
126
+ public void setDeviceResultStateListener() {
125
127
  Shield.getInstance().setDeviceResultStateListener(new Shield.DeviceResultStateListener() {
126
128
  @Override
127
129
  public void isReady() {
128
- // Invoke the callback when the device is ready
129
- callback.invoke();
130
+ // Emit an event when the device is ready
131
+ WritableMap params = Arguments.createMap();
132
+ params.putString("status", "isSDKReady");
133
+
134
+ reactContext
135
+ .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
136
+ .emit("device_result_state", params);
130
137
  }
131
138
  });
132
139
  }
133
140
 
134
141
 
142
+
135
143
  @ReactMethod(isBlockingSynchronousMethod = true)
136
144
  public String getSessionId() {
137
145
  return Shield.getInstance().getSessionId();
@@ -162,13 +170,7 @@ public class ShieldFraudPluginModule extends ReactContextBaseJavaModule implemen
162
170
  for (Map.Entry<String, Object> entry : json.toHashMap().entrySet()) {
163
171
  data.put(entry.getKey(), (String) entry.getValue());
164
172
  }
165
- Shield.getInstance().setDeviceResultStateListener(new Shield.DeviceResultStateListener(){
166
- // check whether device fingerprinting is completed
167
- @Override
168
- public void isReady() {
169
- Shield.getInstance().sendAttributes(screenName, data);
170
- }
171
- });
173
+ Shield.getInstance().sendAttributes(screenName, data);
172
174
  }
173
175
 
174
176
  @ReactMethod
@@ -52,15 +52,15 @@ RCT_EXPORT_METHOD(getLatestDeviceResult:(RCTResponseSenderBlock)successCallback
52
52
  }
53
53
  }
54
54
 
55
- RCT_EXPORT_METHOD(setDeviceResultStateListener:(RCTResponseSenderBlock)callback)
55
+ RCT_EXPORT_METHOD(setDeviceResultStateListener)
56
56
  {
57
57
  [[Shield shared] setDeviceResultStateListener:^{
58
- callback(@[]);
58
+ [self sendEventWithName:@"device_result_state" body:@{@"status": @"isSDKReady"}];
59
59
  }];
60
60
  }
61
61
 
62
62
  - (NSArray<NSString *> *)supportedEvents {
63
- return @[@"success", @"error"];
63
+ return @[@"success", @"error", @"device_result_state"];
64
64
  }
65
65
 
66
66
  - (void)didErrorWithError:(NSError *)error
@@ -59,7 +59,7 @@ class ShieldFraud {
59
59
  * @param config - The configuration object containing the required properties.
60
60
  * @param callbacks - (Optional) The callback functions for success and failure events.
61
61
  */
62
- static initShield(config, callbacks) {
62
+ static async initShield(config, callbacks) {
63
63
  const isOptimizedListener = !!callbacks;
64
64
 
65
65
  // Set default values if logLevel is not provided
@@ -69,7 +69,7 @@ class ShieldFraud {
69
69
  const environmentInfo = config.environmentInfo || EnvironmentInfo.EnvironmentProd;
70
70
 
71
71
  // Call the native method to initialize ShieldFraud with the provided configuration.
72
- ShieldFraud.PlatformWrapper.initShield(config.siteID, config.secretKey, isOptimizedListener, config.blockedDialog, logLevel, environmentInfo);
72
+ await ShieldFraud.PlatformWrapper.initShield(config.siteID, config.secretKey, isOptimizedListener, config.blockedDialog, logLevel, environmentInfo);
73
73
  if (isOptimizedListener ?? false) {
74
74
  // Set up listeners for success and error events if callbacks are provided.
75
75
  ShieldFraud.listeners(callbacks);
@@ -116,18 +116,28 @@ class ShieldFraud {
116
116
  }
117
117
 
118
118
  /**
119
- * Checks if the ShieldFraud SDK is ready and invokes the provided callback with the
120
- * readiness state.
119
+ * Checks if the ShieldFraud SDK is ready and invokes the provided callback with the readiness state.
121
120
  *
122
- * @param callback - The callback function to be invoked with the readiness state.
123
- */
121
+ * @param callback - A callback function to be invoked with the readiness state.
122
+ * - `isReady` (boolean): A boolean value indicating whether the ShieldFraud SDK is ready.
123
+ */
124
124
  static async isSDKready(callback) {
125
- const isInitialized = await this.isShieldInitialized();
126
- if (isInitialized) {
127
- ShieldFraud.PlatformWrapper.setDeviceResultStateListener(() => {
128
- callback(true);
129
- });
130
- } else {
125
+ try {
126
+ const isInitialized = await this.isShieldInitialized();
127
+ if (!isInitialized) {
128
+ callback(false);
129
+ return;
130
+ }
131
+ const deviceResultListener = event => {
132
+ if (event.status === 'isSDKReady') {
133
+ ShieldFraud.eventEmitter.removeAllListeners('device_result_state');
134
+ callback(true);
135
+ }
136
+ };
137
+ ShieldFraud.eventEmitter.addListener('device_result_state', deviceResultListener);
138
+ ShieldFraud.PlatformWrapper.setDeviceResultStateListener();
139
+ } catch (error) {
140
+ console.error("An error occurred:", error);
131
141
  callback(false);
132
142
  }
133
143
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","LogLevel","exports","EnvironmentInfo","ShieldFraud","PlatformWrapper","NativeModules","ShieldFraudPlugin","eventEmitter","NativeEventEmitter","initShield","config","callbacks","isOptimizedListener","logLevel","LogLevelNone","environmentInfo","EnvironmentProd","siteID","secretKey","blockedDialog","listeners","addListener","data","onSuccess","error","onFailure","getSessionId","isShieldInitialized","isSDKready","callback","isInitialized","setDeviceResultStateListener","sendAttributes","screenName","getLatestDeviceResult","Promise","resolve","reject","result","_default","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","LogLevel","exports","EnvironmentInfo","ShieldFraud","PlatformWrapper","NativeModules","ShieldFraudPlugin","eventEmitter","NativeEventEmitter","initShield","config","callbacks","isOptimizedListener","logLevel","LogLevelNone","environmentInfo","EnvironmentProd","siteID","secretKey","blockedDialog","listeners","addListener","data","onSuccess","error","onFailure","getSessionId","isShieldInitialized","isSDKready","callback","isInitialized","deviceResultListener","event","status","removeAllListeners","setDeviceResultStateListener","console","sendAttributes","screenName","getLatestDeviceResult","Promise","resolve","reject","result","_default","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
@@ -58,7 +58,7 @@ class ShieldFraud {
58
58
  * @param config - The configuration object containing the required properties.
59
59
  * @param callbacks - (Optional) The callback functions for success and failure events.
60
60
  */
61
- static initShield(config, callbacks) {
61
+ static async initShield(config, callbacks) {
62
62
  const isOptimizedListener = !!callbacks;
63
63
 
64
64
  // Set default values if logLevel is not provided
@@ -68,7 +68,7 @@ class ShieldFraud {
68
68
  const environmentInfo = config.environmentInfo || EnvironmentInfo.EnvironmentProd;
69
69
 
70
70
  // Call the native method to initialize ShieldFraud with the provided configuration.
71
- ShieldFraud.PlatformWrapper.initShield(config.siteID, config.secretKey, isOptimizedListener, config.blockedDialog, logLevel, environmentInfo);
71
+ await ShieldFraud.PlatformWrapper.initShield(config.siteID, config.secretKey, isOptimizedListener, config.blockedDialog, logLevel, environmentInfo);
72
72
  if (isOptimizedListener ?? false) {
73
73
  // Set up listeners for success and error events if callbacks are provided.
74
74
  ShieldFraud.listeners(callbacks);
@@ -115,18 +115,28 @@ class ShieldFraud {
115
115
  }
116
116
 
117
117
  /**
118
- * Checks if the ShieldFraud SDK is ready and invokes the provided callback with the
119
- * readiness state.
118
+ * Checks if the ShieldFraud SDK is ready and invokes the provided callback with the readiness state.
120
119
  *
121
- * @param callback - The callback function to be invoked with the readiness state.
122
- */
120
+ * @param callback - A callback function to be invoked with the readiness state.
121
+ * - `isReady` (boolean): A boolean value indicating whether the ShieldFraud SDK is ready.
122
+ */
123
123
  static async isSDKready(callback) {
124
- const isInitialized = await this.isShieldInitialized();
125
- if (isInitialized) {
126
- ShieldFraud.PlatformWrapper.setDeviceResultStateListener(() => {
127
- callback(true);
128
- });
129
- } else {
124
+ try {
125
+ const isInitialized = await this.isShieldInitialized();
126
+ if (!isInitialized) {
127
+ callback(false);
128
+ return;
129
+ }
130
+ const deviceResultListener = event => {
131
+ if (event.status === 'isSDKReady') {
132
+ ShieldFraud.eventEmitter.removeAllListeners('device_result_state');
133
+ callback(true);
134
+ }
135
+ };
136
+ ShieldFraud.eventEmitter.addListener('device_result_state', deviceResultListener);
137
+ ShieldFraud.PlatformWrapper.setDeviceResultStateListener();
138
+ } catch (error) {
139
+ console.error("An error occurred:", error);
130
140
  callback(false);
131
141
  }
132
142
  }
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","NativeEventEmitter","LogLevel","EnvironmentInfo","ShieldFraud","PlatformWrapper","ShieldFraudPlugin","eventEmitter","initShield","config","callbacks","isOptimizedListener","logLevel","LogLevelNone","environmentInfo","EnvironmentProd","siteID","secretKey","blockedDialog","listeners","addListener","data","onSuccess","error","onFailure","getSessionId","isShieldInitialized","isSDKready","callback","isInitialized","setDeviceResultStateListener","sendAttributes","screenName","getLatestDeviceResult","Promise","resolve","reject","result"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["NativeModules","NativeEventEmitter","LogLevel","EnvironmentInfo","ShieldFraud","PlatformWrapper","ShieldFraudPlugin","eventEmitter","initShield","config","callbacks","isOptimizedListener","logLevel","LogLevelNone","environmentInfo","EnvironmentProd","siteID","secretKey","blockedDialog","listeners","addListener","data","onSuccess","error","onFailure","getSessionId","isShieldInitialized","isSDKready","callback","isInitialized","deviceResultListener","event","status","removeAllListeners","setDeviceResultStateListener","console","sendAttributes","screenName","getLatestDeviceResult","Promise","resolve","reject","result"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
@@ -62,7 +62,7 @@ declare class ShieldFraud {
62
62
  * @param config - The configuration object containing the required properties.
63
63
  * @param callbacks - (Optional) The callback functions for success and failure events.
64
64
  */
65
- static initShield(config: Config, callbacks?: ShieldCallback): void;
65
+ static initShield(config: Config, callbacks?: ShieldCallback): Promise<void>;
66
66
  /**
67
67
  * Sets up event listeners for success and error events.
68
68
  *
@@ -82,11 +82,11 @@ declare class ShieldFraud {
82
82
  */
83
83
  static isShieldInitialized(): Promise<Boolean>;
84
84
  /**
85
- * Checks if the ShieldFraud SDK is ready and invokes the provided callback with the
86
- * readiness state.
85
+ * Checks if the ShieldFraud SDK is ready and invokes the provided callback with the readiness state.
87
86
  *
88
- * @param callback - The callback function to be invoked with the readiness state.
89
- */
87
+ * @param callback - A callback function to be invoked with the readiness state.
88
+ * - `isReady` (boolean): A boolean value indicating whether the ShieldFraud SDK is ready.
89
+ */
90
90
  static isSDKready(callback: (isReady: boolean) => void): Promise<void>;
91
91
  /**
92
92
  * Sends attributes to the ShieldFraud plugin for a specific screen.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAEA;;GAEG;AACH,oBAAY,QAAQ;IAClB,aAAa,IAAI;IACjB,YAAY,IAAI;IAChB,YAAY,IAAI;CACjB;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,eAAe,IAAI;IACnB,cAAc,IAAI;IAClB,eAAe,IAAI;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;GAEG;AACH,KAAK,eAAe,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;AAE3C;;GAEG;AACH,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,cAAM,WAAW;IACf;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe,CAAmC;IAEjE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY,CAAuD;IAElF;;;;;OAKG;WACW,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI;IAyB1E;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAgBxB;;;;OAIG;WACW,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7C;;;;MAIE;WACY,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrD;;;;;OAKG;WACiB,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnF;;;;;OAKG;WACW,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpE;;;;OAIG;WACW,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC;CAcvD;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAEA;;GAEG;AACH,oBAAY,QAAQ;IAClB,aAAa,IAAI;IACjB,YAAY,IAAI;IAChB,YAAY,IAAI;CACjB;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,eAAe,IAAI;IACnB,cAAc,IAAI;IAClB,eAAe,IAAI;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;GAEG;AACH,KAAK,eAAe,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;AAE3C;;GAEG;AACH,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,cAAM,WAAW;IACf;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe,CAAmC;IAEjE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY,CAAuD;IAElF;;;;;OAKG;WACiB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBzF;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAgBxB;;;;OAIG;WACW,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7C;;;;MAIE;WACY,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrD;;;;;MAKE;WACkB,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBnF;;;;;OAKG;WACW,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpE;;;;OAIG;WACW,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC;CAcvD;AAED,eAAe,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-shield-fraud-plugin",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
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",
package/src/index.tsx CHANGED
@@ -72,7 +72,7 @@ class ShieldFraud {
72
72
  * @param config - The configuration object containing the required properties.
73
73
  * @param callbacks - (Optional) The callback functions for success and failure events.
74
74
  */
75
- public static initShield(config: Config, callbacks?: ShieldCallback): void {
75
+ public static async initShield(config: Config, callbacks?: ShieldCallback): Promise<void> {
76
76
  const isOptimizedListener = !!callbacks;
77
77
 
78
78
  // Set default values if logLevel is not provided
@@ -82,7 +82,7 @@ class ShieldFraud {
82
82
  const environmentInfo = config.environmentInfo || EnvironmentInfo.EnvironmentProd;
83
83
 
84
84
  // Call the native method to initialize ShieldFraud with the provided configuration.
85
- ShieldFraud.PlatformWrapper.initShield(
85
+ await ShieldFraud.PlatformWrapper.initShield(
86
86
  config.siteID,
87
87
  config.secretKey,
88
88
  isOptimizedListener,
@@ -137,21 +137,35 @@ class ShieldFraud {
137
137
  }
138
138
 
139
139
  /**
140
- * Checks if the ShieldFraud SDK is ready and invokes the provided callback with the
141
- * readiness state.
140
+ * Checks if the ShieldFraud SDK is ready and invokes the provided callback with the readiness state.
142
141
  *
143
- * @param callback - The callback function to be invoked with the readiness state.
144
- */
142
+ * @param callback - A callback function to be invoked with the readiness state.
143
+ * - `isReady` (boolean): A boolean value indicating whether the ShieldFraud SDK is ready.
144
+ */
145
145
  public static async isSDKready(callback: (isReady: boolean) => void): Promise<void> {
146
- const isInitialized = await this.isShieldInitialized();
147
- if (isInitialized) {
148
- ShieldFraud.PlatformWrapper.setDeviceResultStateListener(() => {
149
- callback(true);
150
- });
151
- } else {
152
- callback(false);
146
+ try {
147
+ const isInitialized = await this.isShieldInitialized();
148
+
149
+ if (!isInitialized) {
150
+ callback(false);
151
+ return;
152
+ }
153
+
154
+ const deviceResultListener = (event: { status: string }) => {
155
+ if (event.status === 'isSDKReady') {
156
+ ShieldFraud.eventEmitter.removeAllListeners('device_result_state');
157
+ callback(true);
158
+ }
159
+ };
160
+
161
+ ShieldFraud.eventEmitter.addListener('device_result_state', deviceResultListener);
162
+ ShieldFraud.PlatformWrapper.setDeviceResultStateListener();
163
+ } catch (error) {
164
+ console.error("An error occurred:", error);
165
+ callback(false);
153
166
  }
154
167
  }
168
+
155
169
 
156
170
  /**
157
171
  * Sends attributes to the ShieldFraud plugin for a specific screen.