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

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.
Files changed (60) hide show
  1. package/README.md +18 -12
  2. package/android/src/main/java/com/shieldfraudplugin/ShieldFraudPluginModule.java +12 -10
  3. package/ios/ShieldFraudPlugin.m +3 -3
  4. package/ios/ShieldFraudPlugin.xcodeproj/project.pbxproj +0 -44
  5. package/ios/ShieldFraudPlugin.xcodeproj/project.xcworkspace/xcuserdata/deepakraj.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  6. package/lib/commonjs/index.js +22 -12
  7. package/lib/commonjs/index.js.map +1 -1
  8. package/lib/module/index.js +22 -12
  9. package/lib/module/index.js.map +1 -1
  10. package/lib/typescript/index.d.ts +5 -5
  11. package/lib/typescript/index.d.ts.map +1 -1
  12. package/package.json +1 -1
  13. package/src/index.tsx +27 -13
  14. package/ios/Podfile +0 -10
  15. package/ios/Podfile.lock +0 -16
  16. package/ios/Pods/Manifest.lock +0 -16
  17. package/ios/Pods/Pods.xcodeproj/project.pbxproj +0 -536
  18. package/ios/Pods/Pods.xcodeproj/xcuserdata/deepakraj.xcuserdatad/xcschemes/Pods-ShieldFraudPlugin.xcscheme +0 -58
  19. package/ios/Pods/Pods.xcodeproj/xcuserdata/deepakraj.xcuserdatad/xcschemes/ShieldFraud.xcscheme +0 -58
  20. package/ios/Pods/Pods.xcodeproj/xcuserdata/deepakraj.xcuserdatad/xcschemes/xcschememanagement.plist +0 -21
  21. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/Info.plist +0 -40
  22. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/Headers/ShieldFraud-Swift.h +0 -425
  23. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/Headers/ShieldFraud.h +0 -20
  24. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/Info.plist +0 -0
  25. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/arm64-apple-ios.abi.json +0 -20535
  26. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/arm64-apple-ios.private.swiftinterface +0 -207
  27. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  28. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/arm64-apple-ios.swiftinterface +0 -207
  29. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/Modules/module.modulemap +0 -11
  30. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/ShieldFraud +0 -0
  31. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64/ShieldFraud.framework/_CodeSignature/CodeResources +0 -222
  32. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Headers/ShieldFraud-Swift.h +0 -846
  33. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Headers/ShieldFraud.h +0 -20
  34. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Info.plist +0 -0
  35. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/arm64-apple-ios-simulator.abi.json +0 -20535
  36. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +0 -207
  37. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  38. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/arm64-apple-ios-simulator.swiftinterface +0 -207
  39. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/x86_64-apple-ios-simulator.abi.json +0 -19653
  40. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +0 -207
  41. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  42. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/ShieldFraud.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +0 -207
  43. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/Modules/module.modulemap +0 -11
  44. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/ShieldFraud +0 -0
  45. package/ios/Pods/ShieldFraud/ShieldFraud.xcframework/ios-arm64_x86_64-simulator/ShieldFraud.framework/_CodeSignature/CodeResources +0 -297
  46. package/ios/Pods/Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin-Info.plist +0 -26
  47. package/ios/Pods/Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin-acknowledgements.markdown +0 -7
  48. package/ios/Pods/Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin-acknowledgements.plist +0 -39
  49. package/ios/Pods/Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin-dummy.m +0 -5
  50. package/ios/Pods/Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin-umbrella.h +0 -16
  51. package/ios/Pods/Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin.debug.xcconfig +0 -13
  52. package/ios/Pods/Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin.modulemap +0 -6
  53. package/ios/Pods/Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin.release.xcconfig +0 -13
  54. package/ios/Pods/Target Support Files/ShieldFraud/ShieldFraud-xcframeworks.sh +0 -121
  55. package/ios/Pods/Target Support Files/ShieldFraud/ShieldFraud.debug.xcconfig +0 -15
  56. package/ios/Pods/Target Support Files/ShieldFraud/ShieldFraud.release.xcconfig +0 -15
  57. package/ios/ShieldFraudPlugin.xcworkspace/contents.xcworkspacedata +0 -10
  58. package/ios/ShieldFraudPlugin.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  59. package/ios/ShieldFraudPlugin.xcworkspace/xcuserdata/deepakraj.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  60. package/ios/ShieldFraudPlugin.xcworkspace/xcuserdata/deepakraj.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -6
package/README.md CHANGED
@@ -41,13 +41,9 @@ You can refer to the Changelog to see more details about our updates.
41
41
 
42
42
  ### Initialize the SDK
43
43
 
44
- The SDK initialization should be configured at the earliest of the App Lifecycle to ensure successful generation and processing of the device fingerprint. SDK is to be initialised only once and will throw an exception if it is initialised more than once.
45
-
46
-
47
- You need both the SHIELD_SITE_ID and SHIELD_SECRET_KEY to initialize the SDK. You can locate them at the top of the page.
48
-
49
- You can initialize the SDK by calling it inside UseEffect()
44
+ The SDK initialization should be configured on `useEffect` *(for **Functional Components**)* or `componentDidMount` *(for **Class Components**)* in your **App.tsx** or on **App launch** to ensure successful generation and processing of the device fingerprint. The SDK is to be initialized only once and will throw an exception if it is initialized more than once.
50
45
 
46
+ You need both the **SHIELD_SITE_ID** and **SHIELD_SECRET_KEY** to initialize the SDK. You can locate them at the top of the page.
51
47
  ```
52
48
  const config: Config = {
53
49
  siteID: 'SHIELD_SITE_ID',
@@ -55,14 +51,19 @@ const config: Config = {
55
51
  };
56
52
 
57
53
  useEffect(() => {
58
- ShieldFraud.initShield(config)
59
- }
54
+ const initializeShield = async () => {
55
+ await ShieldFraud.initShield(config);
56
+ };
57
+
58
+ initializeShield();
59
+ }, []);
60
60
  ```
61
+ **Note** - ```await ShieldFraud.initShield(config)``` - *The await keyword is used to wait for the promise returned by the initShield function to resolve. In React Native, It is best practice to use `await` when calling native modules from React Native, especially during `asynchronous` operations such as SDK Initialization. This is because using `await` ensures that the main thread is not blocked while the native module is initializing.*
61
62
 
62
63
  `Config` has these **optional** parameters:
63
64
 
64
- 1. `logLevel` Set your log level to debug, info or none. | Receives high-level information about how the SDK processes network requests, responses or error information during SDK integration. Default log level is none.
65
- 2. `environmentInfo` Set your environment info to prod, dev or staging. Default environment info is prod.
65
+ 1. `logLevel` Set your log level to `debug`, `info` or `none`. | Receives high-level information about how the SDK processes network requests, responses or error information during SDK integration. Default log level is `none`.
66
+ 2. `environmentInfo` Set your environment info to `prod`, `dev` or `staging`. Default environment info is `prod`.
66
67
  3. `blockedDialog` Set your dialog for the blocked dialog both title and body or you can send it as null as well
67
68
 
68
69
  Note: You can check whether Shield SDK is ready or not by using isSDKready function
@@ -107,7 +108,7 @@ You can register a callback if you would like to be notified in the event that t
107
108
 
108
109
  Add an additional parameter during intialization in order to register a callback.
109
110
 
110
- For example - ShieldFraud.initShield(config, **callbacks**);
111
+ **For example - `await ShieldFraud.initShield(config, callbacks);`**
111
112
  ```
112
113
  const callbacks: ShieldCallback = {
113
114
  onSuccess: (data) => {
@@ -125,7 +126,12 @@ const config: Config = {
125
126
  secretKey: 'SHIELD_SECRET_KEY'
126
127
  };
127
128
 
128
- ShieldFraud.initShield(config, callbacks);
129
+ useEffect(() => {
130
+ const initializeShield = async () => {
131
+ await ShieldFraud.initShield(config, callbacks);
132
+ };
133
+ initializeShield();
134
+ }, []);
129
135
  ```
130
136
 
131
137
  #### Retrieve device results via Customized Pull
@@ -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
@@ -8,7 +8,6 @@
8
8
 
9
9
  /* Begin PBXBuildFile section */
10
10
  4DC15CAF29F27C9B002A8B6C /* ShieldFraudPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* ShieldFraudPlugin.m */; };
11
- F167571A67B6200098CBA80C /* Pods_ShieldFraudPlugin.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F046944AE9395EF1AEB8DB39 /* Pods_ShieldFraudPlugin.framework */; };
12
11
  /* End PBXBuildFile section */
13
12
 
14
13
  /* Begin PBXCopyFilesBuildPhase section */
@@ -25,11 +24,8 @@
25
24
 
26
25
  /* Begin PBXFileReference section */
27
26
  134814201AA4EA6300B7C361 /* libShieldFraudPlugin.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libShieldFraudPlugin.a; sourceTree = BUILT_PRODUCTS_DIR; };
28
- 665385E0D17A9E1D0BC4BB56 /* Pods-ShieldFraudPlugin.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ShieldFraudPlugin.release.xcconfig"; path = "Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin.release.xcconfig"; sourceTree = "<group>"; };
29
27
  B3E7B5881CC2AC0600A0062D /* ShieldFraudPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShieldFraudPlugin.h; sourceTree = "<group>"; };
30
28
  B3E7B5891CC2AC0600A0062D /* ShieldFraudPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShieldFraudPlugin.m; sourceTree = "<group>"; };
31
- C1AD94D3D1982FF842092419 /* Pods-ShieldFraudPlugin.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ShieldFraudPlugin.debug.xcconfig"; path = "Target Support Files/Pods-ShieldFraudPlugin/Pods-ShieldFraudPlugin.debug.xcconfig"; sourceTree = "<group>"; };
32
- F046944AE9395EF1AEB8DB39 /* Pods_ShieldFraudPlugin.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ShieldFraudPlugin.framework; sourceTree = BUILT_PRODUCTS_DIR; };
33
29
  /* End PBXFileReference section */
34
30
 
35
31
  /* Begin PBXFrameworksBuildPhase section */
@@ -37,7 +33,6 @@
37
33
  isa = PBXFrameworksBuildPhase;
38
34
  buildActionMask = 2147483647;
39
35
  files = (
40
- F167571A67B6200098CBA80C /* Pods_ShieldFraudPlugin.framework in Frameworks */,
41
36
  );
42
37
  runOnlyForDeploymentPostprocessing = 0;
43
38
  };
@@ -55,8 +50,6 @@
55
50
  31EC8772E7BF66C38E51DB38 /* Pods */ = {
56
51
  isa = PBXGroup;
57
52
  children = (
58
- C1AD94D3D1982FF842092419 /* Pods-ShieldFraudPlugin.debug.xcconfig */,
59
- 665385E0D17A9E1D0BC4BB56 /* Pods-ShieldFraudPlugin.release.xcconfig */,
60
53
  );
61
54
  path = Pods;
62
55
  sourceTree = "<group>";
@@ -68,18 +61,9 @@
68
61
  B3E7B5891CC2AC0600A0062D /* ShieldFraudPlugin.m */,
69
62
  134814211AA4EA7D00B7C361 /* Products */,
70
63
  31EC8772E7BF66C38E51DB38 /* Pods */,
71
- DB1BDC55CCE65888ED19A665 /* Frameworks */,
72
64
  );
73
65
  sourceTree = "<group>";
74
66
  };
75
- DB1BDC55CCE65888ED19A665 /* Frameworks */ = {
76
- isa = PBXGroup;
77
- children = (
78
- F046944AE9395EF1AEB8DB39 /* Pods_ShieldFraudPlugin.framework */,
79
- );
80
- name = Frameworks;
81
- sourceTree = "<group>";
82
- };
83
67
  /* End PBXGroup section */
84
68
 
85
69
  /* Begin PBXNativeTarget section */
@@ -87,7 +71,6 @@
87
71
  isa = PBXNativeTarget;
88
72
  buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "ShieldFraudPlugin" */;
89
73
  buildPhases = (
90
- D6EA6B2BCE68BAE66D6746A6 /* [CP] Check Pods Manifest.lock */,
91
74
  58B511D71A9E6C8500147676 /* Sources */,
92
75
  58B511D81A9E6C8500147676 /* Frameworks */,
93
76
  58B511D91A9E6C8500147676 /* CopyFiles */,
@@ -133,31 +116,6 @@
133
116
  };
134
117
  /* End PBXProject section */
135
118
 
136
- /* Begin PBXShellScriptBuildPhase section */
137
- D6EA6B2BCE68BAE66D6746A6 /* [CP] Check Pods Manifest.lock */ = {
138
- isa = PBXShellScriptBuildPhase;
139
- buildActionMask = 2147483647;
140
- files = (
141
- );
142
- inputFileListPaths = (
143
- );
144
- inputPaths = (
145
- "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
146
- "${PODS_ROOT}/Manifest.lock",
147
- );
148
- name = "[CP] Check Pods Manifest.lock";
149
- outputFileListPaths = (
150
- );
151
- outputPaths = (
152
- "$(DERIVED_FILE_DIR)/Pods-ShieldFraudPlugin-checkManifestLockResult.txt",
153
- );
154
- runOnlyForDeploymentPostprocessing = 0;
155
- shellPath = /bin/sh;
156
- shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
157
- showEnvVarsInLog = 0;
158
- };
159
- /* End PBXShellScriptBuildPhase section */
160
-
161
119
  /* Begin PBXSourcesBuildPhase section */
162
120
  58B511D71A9E6C8500147676 /* Sources */ = {
163
121
  isa = PBXSourcesBuildPhase;
@@ -267,7 +225,6 @@
267
225
  };
268
226
  58B511F01A9E6C8500147676 /* Debug */ = {
269
227
  isa = XCBuildConfiguration;
270
- baseConfigurationReference = C1AD94D3D1982FF842092419 /* Pods-ShieldFraudPlugin.debug.xcconfig */;
271
228
  buildSettings = {
272
229
  HEADER_SEARCH_PATHS = (
273
230
  "$(inherited)",
@@ -284,7 +241,6 @@
284
241
  };
285
242
  58B511F11A9E6C8500147676 /* Release */ = {
286
243
  isa = XCBuildConfiguration;
287
- baseConfigurationReference = 665385E0D17A9E1D0BC4BB56 /* Pods-ShieldFraudPlugin.release.xcconfig */;
288
244
  buildSettings = {
289
245
  HEADER_SEARCH_PATHS = (
290
246
  "$(inherited)",
@@ -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.7",
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.
package/ios/Podfile DELETED
@@ -1,10 +0,0 @@
1
- # Uncomment the next line to define a global platform for your project
2
- platform :ios, '11.0'
3
-
4
- target 'ShieldFraudPlugin' do
5
- # Comment the next line if you don't want to use dynamic frameworks
6
- use_frameworks!
7
-
8
- # Pods for ShieldFraudPlugin
9
- pod 'ShieldFraud'
10
- end
package/ios/Podfile.lock DELETED
@@ -1,16 +0,0 @@
1
- PODS:
2
- - ShieldFraud (1.5.28)
3
-
4
- DEPENDENCIES:
5
- - ShieldFraud
6
-
7
- SPEC REPOS:
8
- trunk:
9
- - ShieldFraud
10
-
11
- SPEC CHECKSUMS:
12
- ShieldFraud: d79af5280f65ba8b99188bffec32c33df18931ff
13
-
14
- PODFILE CHECKSUM: bb1ff44dc7cfd449bde1bb035f6a1eb25a54d48c
15
-
16
- COCOAPODS: 1.12.1
@@ -1,16 +0,0 @@
1
- PODS:
2
- - ShieldFraud (1.5.28)
3
-
4
- DEPENDENCIES:
5
- - ShieldFraud
6
-
7
- SPEC REPOS:
8
- trunk:
9
- - ShieldFraud
10
-
11
- SPEC CHECKSUMS:
12
- ShieldFraud: d79af5280f65ba8b99188bffec32c33df18931ff
13
-
14
- PODFILE CHECKSUM: bb1ff44dc7cfd449bde1bb035f6a1eb25a54d48c
15
-
16
- COCOAPODS: 1.12.1