react-native-shield-fraud-plugin 1.0.9 → 1.0.11

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.
@@ -33,6 +33,11 @@ def getExtOrIntegerDefault(name) {
33
33
  android {
34
34
  compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
35
35
 
36
+ // Conditional for compatibility with AGP <4.2.
37
+ if (project.android.hasProperty("namespace")) {
38
+ namespace 'com.shieldfraudplugin'
39
+ }
40
+
36
41
  defaultConfig {
37
42
  minSdkVersion getExtOrIntegerDefault("minSdkVersion")
38
43
  targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
@@ -69,6 +74,12 @@ rootProject.allprojects {
69
74
  google()
70
75
  maven {
71
76
  url "https://cashshield-sdk.s3.amazonaws.com/release/"
77
+ content {
78
+ // Does only include this group
79
+ includeGroup "com.shield.android"
80
+ includeGroup "com.shield.android.module"
81
+
82
+ }
72
83
  }
73
84
  }
74
85
  }
@@ -21,6 +21,8 @@ import com.shield.android.BlockedDialog;
21
21
  import com.shield.android.Shield;
22
22
  import com.shield.android.ShieldCallback;
23
23
  import com.shield.android.ShieldException;
24
+ import com.shield.android.ShieldCrossPlatformParams;
25
+ import com.shield.android.ShieldCrossPlatformHelper;
24
26
 
25
27
  import org.json.JSONObject;
26
28
 
@@ -80,6 +82,12 @@ public class ShieldFraudPluginModule extends ReactContextBaseJavaModule implemen
80
82
  }
81
83
  }
82
84
 
85
+ @ReactMethod
86
+ public void setCrossPlatformParameters(String crossPlatformName, String crossPlatformVersion) {
87
+ ShieldCrossPlatformParams params = new ShieldCrossPlatformParams(crossPlatformName, crossPlatformVersion);
88
+ ShieldCrossPlatformHelper.setCrossPlatformParameters(params);
89
+ }
90
+
83
91
  private BlockedDialog getBlockedDialogFromReadableMap(ReadableMap blockedDialog) {
84
92
  if (blockedDialog != null) {
85
93
  String title = blockedDialog.hasKey("title") ? blockedDialog.getString("title") : null;
@@ -191,4 +199,13 @@ public class ShieldFraudPluginModule extends ReactContextBaseJavaModule implemen
191
199
  errorCallback.invoke(errorMessage);
192
200
  }
193
201
  }
202
+ @ReactMethod
203
+ public void addListener(String eventName) {
204
+ // Code to handle adding listeners
205
+ }
206
+
207
+ @ReactMethod
208
+ public void removeListeners(int count) {
209
+ // Code to handle removing listeners
210
+ }
194
211
  }
@@ -29,6 +29,14 @@ RCT_EXPORT_METHOD(initShield:(NSString *)siteID secretKey:(NSString *)secretKey
29
29
  }
30
30
  }
31
31
 
32
+ // New method to set cross-platform parameters
33
+ RCT_EXPORT_METHOD(setCrossPlatformParameters:(NSString *)crossPlatformName
34
+ crossPlatformVersion:(NSString *)crossPlatformVersion)
35
+ {
36
+ ShieldCrossPlatformParams *params = [[ShieldCrossPlatformParams alloc] initWithName:crossPlatformName version:crossPlatformVersion];
37
+ [ShieldCrossPlatformHelper setCrossPlatformParameters:params];
38
+ }
39
+
32
40
  // get session id from shield sdk
33
41
  RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(getSessionId) {
34
42
  return [[Shield shared]sessionId];
@@ -70,6 +78,14 @@ RCT_EXPORT_METHOD(setDeviceResultStateListener)
70
78
  return @[@"success", @"error", @"device_result_state"];
71
79
  }
72
80
 
81
+ - (void)addListener:(NSString *)eventName {
82
+ [super addListener:eventName];
83
+ }
84
+
85
+ - (void)removeListeners:(double)count {
86
+ [super removeListeners:count];
87
+ }
88
+
73
89
  - (void)didErrorWithError:(NSError *)error
74
90
  {
75
91
  [self sendEventWithName:@"error" body:[error localizedDescription]];
@@ -68,14 +68,27 @@ class ShieldFraud {
68
68
  // Set default values if environmentInfo is not provided
69
69
  const environmentInfo = config.environmentInfo || EnvironmentInfo.EnvironmentProd;
70
70
 
71
+ // Set cross-platform parameters internally (React Native and version from package.json)
72
+ ShieldFraud.setCrossPlatformParameters();
73
+
71
74
  // Call the native method to initialize ShieldFraud with the provided configuration.
72
75
  await ShieldFraud.PlatformWrapper.initShield(config.siteID, config.secretKey, isOptimizedListener, config.blockedDialog, logLevel, environmentInfo);
73
- if (isOptimizedListener ?? false) {
76
+ if (isOptimizedListener) {
74
77
  // Set up listeners for success and error events if callbacks are provided.
75
78
  ShieldFraud.listeners(callbacks);
76
79
  }
77
80
  }
78
81
 
82
+ /**
83
+ * Private method to set cross-platform parameters.
84
+ * The cross-platform name and the version is fetched from package.json.
85
+ */
86
+ static setCrossPlatformParameters() {
87
+ const crossPlatformName = "react-native-shield-fraud-plugin";
88
+ const crossPlatformVersion = "1.0.11";
89
+ ShieldFraud.PlatformWrapper.setCrossPlatformParameters(crossPlatformName, crossPlatformVersion);
90
+ }
91
+
79
92
  /**
80
93
  * Sets up event listeners for success and error events.
81
94
  *
@@ -83,14 +96,14 @@ class ShieldFraud {
83
96
  */
84
97
  static listeners(callbacks) {
85
98
  // Listen for success events and invoke the onSuccess callback if provided.
86
- ShieldFraud.eventEmitter.addListener('success', data => {
99
+ ShieldFraud.eventEmitter.addListener("success", data => {
87
100
  if (callbacks !== null && callbacks !== void 0 && callbacks.onSuccess) {
88
101
  callbacks.onSuccess(data);
89
102
  }
90
103
  });
91
104
 
92
105
  // Listen for error events and invoke the onFailure callback if provided.
93
- ShieldFraud.eventEmitter.addListener('error', error => {
106
+ ShieldFraud.eventEmitter.addListener("error", error => {
94
107
  if (callbacks !== null && callbacks !== void 0 && callbacks.onFailure) {
95
108
  callbacks.onFailure(error);
96
109
  }
@@ -110,7 +123,7 @@ class ShieldFraud {
110
123
  * Checks whether the ShieldFraud plugin is initialized.
111
124
  *
112
125
  * @returns A Promise that resolves with a boolean value indicating whether the ShieldFraud plugin is initialized (true) or not (false).
113
- */
126
+ */
114
127
  static isShieldInitialized() {
115
128
  return ShieldFraud.PlatformWrapper.isShieldInitialized();
116
129
  }
@@ -120,21 +133,24 @@ class ShieldFraud {
120
133
  *
121
134
  * @param callback - A callback function to be invoked with the readiness state.
122
135
  * - `isReady` (boolean): A boolean value indicating whether the ShieldFraud SDK is ready.
123
- */
136
+ */
124
137
  static async isSDKready(callback) {
125
138
  try {
139
+ // Adding a timeout of 100 milliseconds
140
+ await new Promise(resolve => setTimeout(resolve, 100));
126
141
  const isInitialized = await this.isShieldInitialized();
127
142
  if (!isInitialized) {
143
+ console.log("Shield SDK not initialized:");
128
144
  callback(false);
129
145
  return;
130
146
  }
131
147
  const deviceResultListener = event => {
132
- if (event.status === 'isSDKReady') {
133
- ShieldFraud.eventEmitter.removeAllListeners('device_result_state');
148
+ if (event.status === "isSDKReady") {
149
+ ShieldFraud.eventEmitter.removeAllListeners("device_result_state");
134
150
  callback(true);
135
151
  }
136
152
  };
137
- ShieldFraud.eventEmitter.addListener('device_result_state', deviceResultListener);
153
+ ShieldFraud.eventEmitter.addListener("device_result_state", deviceResultListener);
138
154
  ShieldFraud.PlatformWrapper.setDeviceResultStateListener();
139
155
  } catch (error) {
140
156
  console.error("An error occurred:", error);
@@ -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","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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"}
1
+ {"version":3,"names":["_reactNative","require","LogLevel","exports","EnvironmentInfo","ShieldFraud","PlatformWrapper","NativeModules","ShieldFraudPlugin","eventEmitter","NativeEventEmitter","initShield","config","callbacks","isOptimizedListener","logLevel","LogLevelNone","environmentInfo","EnvironmentProd","setCrossPlatformParameters","siteID","secretKey","blockedDialog","listeners","crossPlatformName","crossPlatformVersion","addListener","data","onSuccess","error","onFailure","getSessionId","isShieldInitialized","isSDKready","callback","Promise","resolve","setTimeout","isInitialized","console","log","deviceResultListener","event","status","removeAllListeners","setDeviceResultStateListener","sendAttributes","screenName","getLatestDeviceResult","reject","result","_default","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { NativeModules, NativeEventEmitter } from 'react-native';
1
+ import { NativeModules, NativeEventEmitter } from "react-native";
2
2
 
3
3
  /**
4
4
  * Enum representing the log levels for ShieldFraud.
@@ -67,14 +67,27 @@ class ShieldFraud {
67
67
  // Set default values if environmentInfo is not provided
68
68
  const environmentInfo = config.environmentInfo || EnvironmentInfo.EnvironmentProd;
69
69
 
70
+ // Set cross-platform parameters internally (React Native and version from package.json)
71
+ ShieldFraud.setCrossPlatformParameters();
72
+
70
73
  // Call the native method to initialize ShieldFraud with the provided configuration.
71
74
  await ShieldFraud.PlatformWrapper.initShield(config.siteID, config.secretKey, isOptimizedListener, config.blockedDialog, logLevel, environmentInfo);
72
- if (isOptimizedListener ?? false) {
75
+ if (isOptimizedListener) {
73
76
  // Set up listeners for success and error events if callbacks are provided.
74
77
  ShieldFraud.listeners(callbacks);
75
78
  }
76
79
  }
77
80
 
81
+ /**
82
+ * Private method to set cross-platform parameters.
83
+ * The cross-platform name and the version is fetched from package.json.
84
+ */
85
+ static setCrossPlatformParameters() {
86
+ const crossPlatformName = "react-native-shield-fraud-plugin";
87
+ const crossPlatformVersion = "1.0.11";
88
+ ShieldFraud.PlatformWrapper.setCrossPlatformParameters(crossPlatformName, crossPlatformVersion);
89
+ }
90
+
78
91
  /**
79
92
  * Sets up event listeners for success and error events.
80
93
  *
@@ -82,14 +95,14 @@ class ShieldFraud {
82
95
  */
83
96
  static listeners(callbacks) {
84
97
  // Listen for success events and invoke the onSuccess callback if provided.
85
- ShieldFraud.eventEmitter.addListener('success', data => {
98
+ ShieldFraud.eventEmitter.addListener("success", data => {
86
99
  if (callbacks !== null && callbacks !== void 0 && callbacks.onSuccess) {
87
100
  callbacks.onSuccess(data);
88
101
  }
89
102
  });
90
103
 
91
104
  // Listen for error events and invoke the onFailure callback if provided.
92
- ShieldFraud.eventEmitter.addListener('error', error => {
105
+ ShieldFraud.eventEmitter.addListener("error", error => {
93
106
  if (callbacks !== null && callbacks !== void 0 && callbacks.onFailure) {
94
107
  callbacks.onFailure(error);
95
108
  }
@@ -109,7 +122,7 @@ class ShieldFraud {
109
122
  * Checks whether the ShieldFraud plugin is initialized.
110
123
  *
111
124
  * @returns A Promise that resolves with a boolean value indicating whether the ShieldFraud plugin is initialized (true) or not (false).
112
- */
125
+ */
113
126
  static isShieldInitialized() {
114
127
  return ShieldFraud.PlatformWrapper.isShieldInitialized();
115
128
  }
@@ -119,21 +132,24 @@ class ShieldFraud {
119
132
  *
120
133
  * @param callback - A callback function to be invoked with the readiness state.
121
134
  * - `isReady` (boolean): A boolean value indicating whether the ShieldFraud SDK is ready.
122
- */
135
+ */
123
136
  static async isSDKready(callback) {
124
137
  try {
138
+ // Adding a timeout of 100 milliseconds
139
+ await new Promise(resolve => setTimeout(resolve, 100));
125
140
  const isInitialized = await this.isShieldInitialized();
126
141
  if (!isInitialized) {
142
+ console.log("Shield SDK not initialized:");
127
143
  callback(false);
128
144
  return;
129
145
  }
130
146
  const deviceResultListener = event => {
131
- if (event.status === 'isSDKReady') {
132
- ShieldFraud.eventEmitter.removeAllListeners('device_result_state');
147
+ if (event.status === "isSDKReady") {
148
+ ShieldFraud.eventEmitter.removeAllListeners("device_result_state");
133
149
  callback(true);
134
150
  }
135
151
  };
136
- ShieldFraud.eventEmitter.addListener('device_result_state', deviceResultListener);
152
+ ShieldFraud.eventEmitter.addListener("device_result_state", deviceResultListener);
137
153
  ShieldFraud.PlatformWrapper.setDeviceResultStateListener();
138
154
  } catch (error) {
139
155
  console.error("An error occurred:", error);
@@ -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","deviceResultListener","event","status","removeAllListeners","setDeviceResultStateListener","console","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","setCrossPlatformParameters","siteID","secretKey","blockedDialog","listeners","crossPlatformName","crossPlatformVersion","addListener","data","onSuccess","error","onFailure","getSessionId","isShieldInitialized","isSDKready","callback","Promise","resolve","setTimeout","isInitialized","console","log","deviceResultListener","event","status","removeAllListeners","setDeviceResultStateListener","sendAttributes","screenName","getLatestDeviceResult","reject","result"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
@@ -63,6 +63,11 @@ declare class ShieldFraud {
63
63
  * @param callbacks - (Optional) The callback functions for success and failure events.
64
64
  */
65
65
  static initShield(config: Config, callbacks?: ShieldCallback): Promise<void>;
66
+ /**
67
+ * Private method to set cross-platform parameters.
68
+ * The cross-platform name and the version is fetched from package.json.
69
+ */
70
+ private static setCrossPlatformParameters;
66
71
  /**
67
72
  * Sets up event listeners for success and error events.
68
73
  *
@@ -79,14 +84,14 @@ declare class ShieldFraud {
79
84
  * Checks whether the ShieldFraud plugin is initialized.
80
85
  *
81
86
  * @returns A Promise that resolves with a boolean value indicating whether the ShieldFraud plugin is initialized (true) or not (false).
82
- */
83
- static isShieldInitialized(): Promise<Boolean>;
87
+ */
88
+ static isShieldInitialized(): Promise<boolean>;
84
89
  /**
85
90
  * Checks if the ShieldFraud SDK is ready and invokes the provided callback with the readiness state.
86
91
  *
87
92
  * @param callback - A callback function to be invoked with the readiness state.
88
93
  * - `isReady` (boolean): A boolean value indicating whether the ShieldFraud SDK is ready.
89
- */
94
+ */
90
95
  static isSDKready(callback: (isReady: boolean) => void): Promise<void>;
91
96
  /**
92
97
  * 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;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"}
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,CAEzB;IAEF;;;;;OAKG;WACiB,UAAU,CAC5B,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,cAAc,GACzB,OAAO,CAAC,IAAI,CAAC;IA6BhB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAUzC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAgBxB;;;;OAIG;WACW,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7C;;;;OAIG;WACW,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrD;;;;;OAKG;WACiB,UAAU,CAC5B,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GACnC,OAAO,CAAC,IAAI,CAAC;IA+BhB;;;;;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.9",
3
+ "version": "1.0.11",
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",
@@ -15,5 +15,5 @@ Pod::Spec.new do |s|
15
15
 
16
16
  s.source_files = "ios/**/*.{h,m,mm}"
17
17
  s.dependency "React"
18
- s.dependency "ShieldFraud"
18
+ s.dependency "ShieldFraud", ">= 1.5.46"
19
19
  end
package/src/index.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import { NativeModules, NativeEventEmitter } from 'react-native';
1
+ import { NativeModules, NativeEventEmitter } from "react-native";
2
2
 
3
3
  /**
4
4
  * Enum representing the log levels for ShieldFraud.
@@ -64,7 +64,9 @@ class ShieldFraud {
64
64
  /**
65
65
  * The event emitter for listening to success and error events.
66
66
  */
67
- private static eventEmitter = new NativeEventEmitter(ShieldFraud.PlatformWrapper);
67
+ private static eventEmitter = new NativeEventEmitter(
68
+ ShieldFraud.PlatformWrapper
69
+ );
68
70
 
69
71
  /**
70
72
  * Initializes the ShieldFraud plugin with the provided configuration.
@@ -72,14 +74,21 @@ class ShieldFraud {
72
74
  * @param config - The configuration object containing the required properties.
73
75
  * @param callbacks - (Optional) The callback functions for success and failure events.
74
76
  */
75
- public static async initShield(config: Config, callbacks?: ShieldCallback): Promise<void> {
77
+ public static async initShield(
78
+ config: Config,
79
+ callbacks?: ShieldCallback
80
+ ): Promise<void> {
76
81
  const isOptimizedListener = !!callbacks;
77
82
 
78
83
  // Set default values if logLevel is not provided
79
84
  const logLevel = config.logLevel || LogLevel.LogLevelNone;
80
85
 
81
86
  // Set default values if environmentInfo is not provided
82
- const environmentInfo = config.environmentInfo || EnvironmentInfo.EnvironmentProd;
87
+ const environmentInfo =
88
+ config.environmentInfo || EnvironmentInfo.EnvironmentProd;
89
+
90
+ // Set cross-platform parameters internally (React Native and version from package.json)
91
+ ShieldFraud.setCrossPlatformParameters();
83
92
 
84
93
  // Call the native method to initialize ShieldFraud with the provided configuration.
85
94
  await ShieldFraud.PlatformWrapper.initShield(
@@ -91,12 +100,26 @@ class ShieldFraud {
91
100
  environmentInfo
92
101
  );
93
102
 
94
- if (isOptimizedListener ?? false) {
103
+ if (isOptimizedListener) {
95
104
  // Set up listeners for success and error events if callbacks are provided.
96
105
  ShieldFraud.listeners(callbacks);
97
106
  }
98
107
  }
99
108
 
109
+ /**
110
+ * Private method to set cross-platform parameters.
111
+ * The cross-platform name and the version is fetched from package.json.
112
+ */
113
+ private static setCrossPlatformParameters(): void {
114
+ const crossPlatformName = "react-native-shield-fraud-plugin";
115
+ const crossPlatformVersion = "1.0.11";
116
+
117
+ ShieldFraud.PlatformWrapper.setCrossPlatformParameters(
118
+ crossPlatformName,
119
+ crossPlatformVersion
120
+ );
121
+ }
122
+
100
123
  /**
101
124
  * Sets up event listeners for success and error events.
102
125
  *
@@ -104,14 +127,14 @@ class ShieldFraud {
104
127
  */
105
128
  private static listeners(callbacks?: ShieldCallback): void {
106
129
  // Listen for success events and invoke the onSuccess callback if provided.
107
- ShieldFraud.eventEmitter.addListener('success', (data) => {
130
+ ShieldFraud.eventEmitter.addListener("success", (data) => {
108
131
  if (callbacks?.onSuccess) {
109
132
  callbacks.onSuccess(data);
110
133
  }
111
134
  });
112
135
 
113
136
  // Listen for error events and invoke the onFailure callback if provided.
114
- ShieldFraud.eventEmitter.addListener('error', (error) => {
137
+ ShieldFraud.eventEmitter.addListener("error", (error) => {
115
138
  if (callbacks?.onFailure) {
116
139
  callbacks.onFailure(error);
117
140
  }
@@ -131,8 +154,8 @@ class ShieldFraud {
131
154
  * Checks whether the ShieldFraud plugin is initialized.
132
155
  *
133
156
  * @returns A Promise that resolves with a boolean value indicating whether the ShieldFraud plugin is initialized (true) or not (false).
134
- */
135
- public static isShieldInitialized(): Promise<Boolean> {
157
+ */
158
+ public static isShieldInitialized(): Promise<boolean> {
136
159
  return ShieldFraud.PlatformWrapper.isShieldInitialized();
137
160
  }
138
161
 
@@ -141,31 +164,39 @@ class ShieldFraud {
141
164
  *
142
165
  * @param callback - A callback function to be invoked with the readiness state.
143
166
  * - `isReady` (boolean): A boolean value indicating whether the ShieldFraud SDK is ready.
144
- */
145
- public static async isSDKready(callback: (isReady: boolean) => void): Promise<void> {
167
+ */
168
+ public static async isSDKready(
169
+ callback: (isReady: boolean) => void
170
+ ): Promise<void> {
146
171
  try {
172
+ // Adding a timeout of 100 milliseconds
173
+ await new Promise((resolve) => setTimeout(resolve, 100));
174
+
147
175
  const isInitialized = await this.isShieldInitialized();
148
-
176
+
149
177
  if (!isInitialized) {
178
+ console.log("Shield SDK not initialized:");
150
179
  callback(false);
151
180
  return;
152
181
  }
153
-
182
+
154
183
  const deviceResultListener = (event: { status: string }) => {
155
- if (event.status === 'isSDKReady') {
156
- ShieldFraud.eventEmitter.removeAllListeners('device_result_state');
184
+ if (event.status === "isSDKReady") {
185
+ ShieldFraud.eventEmitter.removeAllListeners("device_result_state");
157
186
  callback(true);
158
187
  }
159
188
  };
160
-
161
- ShieldFraud.eventEmitter.addListener('device_result_state', deviceResultListener);
189
+
190
+ ShieldFraud.eventEmitter.addListener(
191
+ "device_result_state",
192
+ deviceResultListener
193
+ );
162
194
  ShieldFraud.PlatformWrapper.setDeviceResultStateListener();
163
195
  } catch (error) {
164
- console.error("An error occurred:", error);
165
- callback(false);
196
+ console.error("An error occurred:", error);
197
+ callback(false);
166
198
  }
167
199
  }
168
-
169
200
 
170
201
  /**
171
202
  * Sends attributes to the ShieldFraud plugin for a specific screen.
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>IDEDidComputeMac32BitWarning</key>
6
- <true/>
7
- </dict>
8
- </plist>
@@ -1,14 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>SchemeUserState</key>
6
- <dict>
7
- <key>ShieldFraudPlugin.xcscheme_^#shared#^_</key>
8
- <dict>
9
- <key>orderHint</key>
10
- <integer>0</integer>
11
- </dict>
12
- </dict>
13
- </dict>
14
- </plist>