react-native-shield-fraud-plugin 1.0.11 → 2.0.1
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 +25 -18
- package/android/src/main/java/com/shieldfraudplugin/ShieldFraudPluginModule.java +348 -125
- package/android/src/main/java/com/shieldfraudplugin/ShieldFraudPluginPackage.java +71 -21
- package/android/src/newarch/java/com/shieldfraudplugin/ShieldFraudPluginSpec.java +41 -0
- package/android/src/oldarch/java/com/shieldfraudplugin/ShieldFraudPluginSpec.java +36 -0
- package/ios/ShieldFraudPlugin.h +11 -2
- package/ios/ShieldFraudPlugin.mm +289 -0
- package/lib/commonjs/NativeShieldFraudPlugin.js +15 -0
- package/lib/commonjs/NativeShieldFraudPlugin.js.map +1 -0
- package/lib/commonjs/index.js +67 -9
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/NativeShieldFraudPlugin.js +10 -0
- package/lib/module/NativeShieldFraudPlugin.js.map +1 -0
- package/lib/module/index.js +68 -10
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/NativeShieldFraudPlugin.d.ts +52 -0
- package/lib/typescript/NativeShieldFraudPlugin.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +33 -3
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +10 -2
- package/react-native-shield-fraud-plugin.podspec +13 -3
- package/src/NativeShieldFraudPlugin.ts +85 -0
- package/src/index.tsx +98 -12
- package/ios/ShieldFraudPlugin.m +0 -106
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","
|
|
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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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TurboModuleRegistry } from 'react-native';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* TypeScript spec for the ShieldFraudPlugin Turbo Module.
|
|
5
|
+
* This file is used by React Native codegen to auto-generate
|
|
6
|
+
* native interface code for both iOS and Android.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export default TurboModuleRegistry.getEnforcing('ShieldFraudPlugin');
|
|
10
|
+
//# sourceMappingURL=NativeShieldFraudPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeShieldFraudPlugin.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAElD;AACA;AACA;AACA;AACA;;AA6EA,eAAeA,mBAAmB,CAACC,YAAY,CAAO,mBAAmB,CAAC"}
|
package/lib/module/index.js
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
import { NativeModules, NativeEventEmitter } from "react-native";
|
|
1
|
+
import { NativeModules, NativeEventEmitter, Platform, TurboModuleRegistry } from "react-native";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Resolve the native module through TurboModuleRegistry (New Architecture)
|
|
5
|
+
* with a fallback to NativeModules bridge (Old Architecture).
|
|
6
|
+
*/
|
|
7
|
+
const ShieldFraudPluginNativeModule = TurboModuleRegistry.get("ShieldFraudPlugin") ?? NativeModules.ShieldFraudPlugin;
|
|
2
8
|
|
|
3
9
|
/**
|
|
4
10
|
* Enum representing the log levels for ShieldFraud.
|
|
5
11
|
*/
|
|
6
12
|
export let LogLevel = /*#__PURE__*/function (LogLevel) {
|
|
13
|
+
LogLevel[LogLevel["LogLevelVerbose"] = 4] = "LogLevelVerbose";
|
|
7
14
|
LogLevel[LogLevel["LogLevelDebug"] = 3] = "LogLevelDebug";
|
|
8
15
|
LogLevel[LogLevel["LogLevelInfo"] = 2] = "LogLevelInfo";
|
|
9
16
|
LogLevel[LogLevel["LogLevelNone"] = 1] = "LogLevelNone";
|
|
@@ -16,9 +23,9 @@ export let LogLevel = /*#__PURE__*/function (LogLevel) {
|
|
|
16
23
|
export let EnvironmentInfo = /*#__PURE__*/function (EnvironmentInfo) {
|
|
17
24
|
EnvironmentInfo[EnvironmentInfo["EnvironmentProd"] = 0] = "EnvironmentProd";
|
|
18
25
|
EnvironmentInfo[EnvironmentInfo["EnvironmentDev"] = 1] = "EnvironmentDev";
|
|
19
|
-
EnvironmentInfo[EnvironmentInfo["
|
|
26
|
+
EnvironmentInfo[EnvironmentInfo["EnvironmentStaging"] = 2] = "EnvironmentStaging";
|
|
20
27
|
return EnvironmentInfo;
|
|
21
|
-
}({});
|
|
28
|
+
}({}); // Environment.STAGING
|
|
22
29
|
|
|
23
30
|
/**
|
|
24
31
|
* Configuration object for initializing ShieldFraud.
|
|
@@ -44,8 +51,10 @@ export let EnvironmentInfo = /*#__PURE__*/function (EnvironmentInfo) {
|
|
|
44
51
|
class ShieldFraud {
|
|
45
52
|
/**
|
|
46
53
|
* The native module for accessing the ShieldFraudPlugin.
|
|
54
|
+
* Resolved via TurboModuleRegistry on New Architecture, with
|
|
55
|
+
* a NativeModules bridge fallback for Old Architecture.
|
|
47
56
|
*/
|
|
48
|
-
static PlatformWrapper =
|
|
57
|
+
static PlatformWrapper = ShieldFraudPluginNativeModule;
|
|
49
58
|
|
|
50
59
|
/**
|
|
51
60
|
* The event emitter for listening to success and error events.
|
|
@@ -70,8 +79,13 @@ class ShieldFraud {
|
|
|
70
79
|
// Set cross-platform parameters internally (React Native and version from package.json)
|
|
71
80
|
ShieldFraud.setCrossPlatformParameters();
|
|
72
81
|
|
|
82
|
+
// blockScreenRecording is Android-only; iOS native ignores the value.
|
|
83
|
+
// Always send a real boolean — the Old Arch bridge cannot handle null
|
|
84
|
+
// for boolean parameters (causes NPE in ReadableNativeArray.getBoolean).
|
|
85
|
+
const blockScreenRecording = Platform.OS === "android" ? config.blockScreenRecording ?? false : false;
|
|
86
|
+
|
|
73
87
|
// Call the native method to initialize ShieldFraud with the provided configuration.
|
|
74
|
-
await ShieldFraud.PlatformWrapper.initShield(config.siteID, config.secretKey, isOptimizedListener, config.blockedDialog, logLevel, environmentInfo);
|
|
88
|
+
await ShieldFraud.PlatformWrapper.initShield(config.siteID, config.secretKey, isOptimizedListener, config.blockedDialog ?? null, logLevel, environmentInfo, blockScreenRecording);
|
|
75
89
|
if (isOptimizedListener) {
|
|
76
90
|
// Set up listeners for success and error events if callbacks are provided.
|
|
77
91
|
ShieldFraud.listeners(callbacks);
|
|
@@ -84,7 +98,7 @@ class ShieldFraud {
|
|
|
84
98
|
*/
|
|
85
99
|
static setCrossPlatformParameters() {
|
|
86
100
|
const crossPlatformName = "react-native-shield-fraud-plugin";
|
|
87
|
-
const crossPlatformVersion = "
|
|
101
|
+
const crossPlatformVersion = "2.0.1";
|
|
88
102
|
ShieldFraud.PlatformWrapper.setCrossPlatformParameters(crossPlatformName, crossPlatformVersion);
|
|
89
103
|
}
|
|
90
104
|
|
|
@@ -128,12 +142,21 @@ class ShieldFraud {
|
|
|
128
142
|
}
|
|
129
143
|
|
|
130
144
|
/**
|
|
131
|
-
* Checks if the ShieldFraud SDK is ready and invokes the provided callback
|
|
145
|
+
* Checks if the ShieldFraud SDK is ready and invokes the provided callback
|
|
146
|
+
* with the readiness state.
|
|
147
|
+
*
|
|
148
|
+
* On Android, readiness is approximated by the native initialization state
|
|
149
|
+
* to preserve backward compatibility without reporting ready before init.
|
|
132
150
|
*
|
|
133
151
|
* @param callback - A callback function to be invoked with the readiness state.
|
|
134
|
-
* - `isReady` (boolean):
|
|
152
|
+
* - `isReady` (boolean): true when the SDK has produced a device result.
|
|
135
153
|
*/
|
|
136
154
|
static async isSDKready(callback) {
|
|
155
|
+
if (Platform.OS === "android") {
|
|
156
|
+
const isInitialized = await this.isShieldInitialized();
|
|
157
|
+
callback(isInitialized);
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
137
160
|
try {
|
|
138
161
|
// Adding a timeout of 100 milliseconds
|
|
139
162
|
await new Promise(resolve => setTimeout(resolve, 100));
|
|
@@ -150,6 +173,8 @@ class ShieldFraud {
|
|
|
150
173
|
}
|
|
151
174
|
};
|
|
152
175
|
ShieldFraud.eventEmitter.addListener("device_result_state", deviceResultListener);
|
|
176
|
+
|
|
177
|
+
// Trigger the SDK subscription — iOS 1.x requires this explicit call.
|
|
153
178
|
ShieldFraud.PlatformWrapper.setDeviceResultStateListener();
|
|
154
179
|
} catch (error) {
|
|
155
180
|
console.error("An error occurred:", error);
|
|
@@ -167,6 +192,23 @@ class ShieldFraud {
|
|
|
167
192
|
ShieldFraud.PlatformWrapper.sendAttributes(screenName, data);
|
|
168
193
|
}
|
|
169
194
|
|
|
195
|
+
/**
|
|
196
|
+
* Sends attributes and resolves with `true` when the native SDK confirms success.
|
|
197
|
+
*
|
|
198
|
+
* @param screenName - The name of the screen.
|
|
199
|
+
* @param data - The attribute data object.
|
|
200
|
+
* @returns A Promise that resolves to true on success and rejects on error.
|
|
201
|
+
*/
|
|
202
|
+
static sendAttributesWithCallback(screenName, data) {
|
|
203
|
+
return new Promise((resolve, reject) => {
|
|
204
|
+
ShieldFraud.PlatformWrapper.sendAttributesWithCallback(screenName, data, result => {
|
|
205
|
+
resolve(!!result);
|
|
206
|
+
}, error => {
|
|
207
|
+
reject(error);
|
|
208
|
+
});
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
|
|
170
212
|
/**
|
|
171
213
|
* Retrieves the latest device result from the ShieldFraud plugin.
|
|
172
214
|
*
|
|
@@ -175,10 +217,26 @@ class ShieldFraud {
|
|
|
175
217
|
static getLatestDeviceResult() {
|
|
176
218
|
return new Promise((resolve, reject) => {
|
|
177
219
|
ShieldFraud.PlatformWrapper.getLatestDeviceResult(result => {
|
|
178
|
-
// Handle success with the result object
|
|
179
220
|
resolve(result);
|
|
180
221
|
}, error => {
|
|
181
|
-
|
|
222
|
+
reject(error);
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Triggers a device signature computation for a given screen name.
|
|
229
|
+
* On success, resolves with the latest device result object.
|
|
230
|
+
* On failure, rejects with the error message.
|
|
231
|
+
*
|
|
232
|
+
* @param screenName - The name of the screen triggering the signature.
|
|
233
|
+
* @returns A Promise that resolves with the device result or rejects with an error.
|
|
234
|
+
*/
|
|
235
|
+
static sendDeviceSignature(screenName) {
|
|
236
|
+
return new Promise((resolve, reject) => {
|
|
237
|
+
ShieldFraud.PlatformWrapper.sendDeviceSignature(screenName, result => {
|
|
238
|
+
resolve(result);
|
|
239
|
+
}, error => {
|
|
182
240
|
reject(error);
|
|
183
241
|
});
|
|
184
242
|
});
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","NativeEventEmitter","LogLevel","EnvironmentInfo","ShieldFraud","PlatformWrapper","
|
|
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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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* TypeScript spec for the ShieldFraudPlugin Turbo Module.
|
|
4
|
+
* This file is used by React Native codegen to auto-generate
|
|
5
|
+
* native interface code for both iOS and Android.
|
|
6
|
+
*/
|
|
7
|
+
export interface Spec extends TurboModule {
|
|
8
|
+
/**
|
|
9
|
+
* Initializes the ShieldFraud SDK with the provided configuration.
|
|
10
|
+
*/
|
|
11
|
+
initShield(siteID: string, secretKey: string, isOptimizedListener: boolean, blockedDialog: Object | null, logLevel: number, environmentInfo: number,
|
|
12
|
+
/** Android-only: block screen recording while the SDK is active. Ignored on iOS. */
|
|
13
|
+
blockScreenRecording: boolean): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Sets cross-platform metadata (name + version) on the SDK.
|
|
16
|
+
*/
|
|
17
|
+
setCrossPlatformParameters(crossPlatformName: string, crossPlatformVersion: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the current session ID synchronously.
|
|
20
|
+
*/
|
|
21
|
+
getSessionId(): string;
|
|
22
|
+
/**
|
|
23
|
+
* Returns whether the SDK has been initialized synchronously.
|
|
24
|
+
*/
|
|
25
|
+
isShieldInitialized(): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Registers a listener for the device-result-ready state event.
|
|
28
|
+
*/
|
|
29
|
+
setDeviceResultStateListener(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Sends custom attributes for a given screen name.
|
|
32
|
+
*/
|
|
33
|
+
sendAttributes(screenName: string, data: Object): void;
|
|
34
|
+
/**
|
|
35
|
+
* Sends custom attributes for a given screen name with success/error callbacks.
|
|
36
|
+
*/
|
|
37
|
+
sendAttributesWithCallback(screenName: string, data: Object, successCallback: (result: boolean) => void, errorCallback: (error: string) => void): void;
|
|
38
|
+
/**
|
|
39
|
+
* Retrieves the latest device result via success/error callbacks.
|
|
40
|
+
*/
|
|
41
|
+
getLatestDeviceResult(successCallback: (result: Object) => void, errorCallback: (error: Object) => void): void;
|
|
42
|
+
/**
|
|
43
|
+
* Triggers a device signature computation for a given screen and returns
|
|
44
|
+
* the latest device result (or error) via callbacks once complete.
|
|
45
|
+
*/
|
|
46
|
+
sendDeviceSignature(screenName: string, successCallback: (result: Object) => void, errorCallback: (error: string) => void): void;
|
|
47
|
+
addListener(eventName: string): void;
|
|
48
|
+
removeListeners(count: number): void;
|
|
49
|
+
}
|
|
50
|
+
declare const _default: Spec;
|
|
51
|
+
export default _default;
|
|
52
|
+
//# sourceMappingURL=NativeShieldFraudPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeShieldFraudPlugin.d.ts","sourceRoot":"","sources":["../../src/NativeShieldFraudPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD;;;;GAIG;AACH,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;OAEG;IACH,UAAU,CACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,OAAO,EAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM;IACvB,oFAAoF;IACpF,oBAAoB,EAAE,OAAO,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;OAEG;IACH,0BAA0B,CACxB,iBAAiB,EAAE,MAAM,EACzB,oBAAoB,EAAE,MAAM,GAC3B,IAAI,CAAC;IAER;;OAEG;IACH,YAAY,IAAI,MAAM,CAAC;IAEvB;;OAEG;IACH,mBAAmB,IAAI,OAAO,CAAC;IAE/B;;OAEG;IACH,4BAA4B,IAAI,IAAI,CAAC;IAErC;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvD;;OAEG;IACH,0BAA0B,CACxB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,EAC1C,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GACrC,IAAI,CAAC;IAER;;OAEG;IACH,qBAAqB,CACnB,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EACzC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GACrC,IAAI,CAAC;IAER;;;OAGG;IACH,mBAAmB,CACjB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EACzC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GACrC,IAAI,CAAC;IAGR,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;;AAED,wBAA2E"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Enum representing the log levels for ShieldFraud.
|
|
3
3
|
*/
|
|
4
4
|
export declare enum LogLevel {
|
|
5
|
+
LogLevelVerbose = 4,
|
|
5
6
|
LogLevelDebug = 3,
|
|
6
7
|
LogLevelInfo = 2,
|
|
7
8
|
LogLevelNone = 1
|
|
@@ -12,7 +13,7 @@ export declare enum LogLevel {
|
|
|
12
13
|
export declare enum EnvironmentInfo {
|
|
13
14
|
EnvironmentProd = 0,
|
|
14
15
|
EnvironmentDev = 1,
|
|
15
|
-
|
|
16
|
+
EnvironmentStaging = 2
|
|
16
17
|
}
|
|
17
18
|
/**
|
|
18
19
|
* Configuration object for initializing ShieldFraud.
|
|
@@ -26,6 +27,12 @@ export interface Config {
|
|
|
26
27
|
} | null;
|
|
27
28
|
logLevel?: LogLevel;
|
|
28
29
|
environmentInfo?: EnvironmentInfo;
|
|
30
|
+
/**
|
|
31
|
+
* Android-only: when true, the Shield SDK will block screen recording
|
|
32
|
+
* while it is active. Has no effect on iOS (the value is forwarded but
|
|
33
|
+
* the native side ignores it). Defaults to false when not provided.
|
|
34
|
+
*/
|
|
35
|
+
blockScreenRecording?: boolean;
|
|
29
36
|
}
|
|
30
37
|
/**
|
|
31
38
|
* Type definition for the success callback function.
|
|
@@ -50,6 +57,8 @@ export type ShieldCallback = {
|
|
|
50
57
|
declare class ShieldFraud {
|
|
51
58
|
/**
|
|
52
59
|
* The native module for accessing the ShieldFraudPlugin.
|
|
60
|
+
* Resolved via TurboModuleRegistry on New Architecture, with
|
|
61
|
+
* a NativeModules bridge fallback for Old Architecture.
|
|
53
62
|
*/
|
|
54
63
|
private static PlatformWrapper;
|
|
55
64
|
/**
|
|
@@ -87,10 +96,14 @@ declare class ShieldFraud {
|
|
|
87
96
|
*/
|
|
88
97
|
static isShieldInitialized(): Promise<boolean>;
|
|
89
98
|
/**
|
|
90
|
-
* Checks if the ShieldFraud SDK is ready and invokes the provided callback
|
|
99
|
+
* Checks if the ShieldFraud SDK is ready and invokes the provided callback
|
|
100
|
+
* with the readiness state.
|
|
101
|
+
*
|
|
102
|
+
* On Android, readiness is approximated by the native initialization state
|
|
103
|
+
* to preserve backward compatibility without reporting ready before init.
|
|
91
104
|
*
|
|
92
105
|
* @param callback - A callback function to be invoked with the readiness state.
|
|
93
|
-
* - `isReady` (boolean):
|
|
106
|
+
* - `isReady` (boolean): true when the SDK has produced a device result.
|
|
94
107
|
*/
|
|
95
108
|
static isSDKready(callback: (isReady: boolean) => void): Promise<void>;
|
|
96
109
|
/**
|
|
@@ -100,12 +113,29 @@ declare class ShieldFraud {
|
|
|
100
113
|
* @param data - The attribute data object.
|
|
101
114
|
*/
|
|
102
115
|
static sendAttributes(screenName: string, data: object): void;
|
|
116
|
+
/**
|
|
117
|
+
* Sends attributes and resolves with `true` when the native SDK confirms success.
|
|
118
|
+
*
|
|
119
|
+
* @param screenName - The name of the screen.
|
|
120
|
+
* @param data - The attribute data object.
|
|
121
|
+
* @returns A Promise that resolves to true on success and rejects on error.
|
|
122
|
+
*/
|
|
123
|
+
static sendAttributesWithCallback(screenName: string, data: object): Promise<boolean>;
|
|
103
124
|
/**
|
|
104
125
|
* Retrieves the latest device result from the ShieldFraud plugin.
|
|
105
126
|
*
|
|
106
127
|
* @returns A Promise that resolves with the latest device result object.
|
|
107
128
|
*/
|
|
108
129
|
static getLatestDeviceResult(): Promise<object>;
|
|
130
|
+
/**
|
|
131
|
+
* Triggers a device signature computation for a given screen name.
|
|
132
|
+
* On success, resolves with the latest device result object.
|
|
133
|
+
* On failure, rejects with the error message.
|
|
134
|
+
*
|
|
135
|
+
* @param screenName - The name of the screen triggering the signature.
|
|
136
|
+
* @returns A Promise that resolves with the device result or rejects with an error.
|
|
137
|
+
*/
|
|
138
|
+
static sendDeviceSignature(screenName: string): Promise<object>;
|
|
109
139
|
}
|
|
110
140
|
export default ShieldFraud;
|
|
111
141
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAeA;;GAEG;AACH,oBAAY,QAAQ;IAClB,eAAe,IAAI;IACnB,aAAa,IAAI;IACjB,YAAY,IAAI;IAChB,YAAY,IAAI;CACjB;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,eAAe,IAAI;IACnB,cAAc,IAAI;IAClB,kBAAkB,IAAI;CACvB;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;IAClC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;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;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe,CAAiC;IAE/D;;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;IAoChB;;;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;;;;;;;;;OASG;WACiB,UAAU,CAC5B,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GACnC,OAAO,CAAC,IAAI,CAAC;IAuChB;;;;;OAKG;WACW,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpE;;;;;;OAMG;WACW,0BAA0B,CACtC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC;IAenB;;;;OAIG;WACW,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC;IAatD;;;;;;;OAOG;WACW,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAavE;AAED,eAAe,WAAW,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-shield-fraud-plugin",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
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",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"engines": {
|
|
81
81
|
"node": ">= 16.0.0"
|
|
82
82
|
},
|
|
83
|
-
"packageManager": "
|
|
83
|
+
"packageManager": "yarn@1.22.15",
|
|
84
84
|
"jest": {
|
|
85
85
|
"preset": "react-native",
|
|
86
86
|
"modulePathIgnorePatterns": [
|
|
@@ -153,5 +153,13 @@
|
|
|
153
153
|
}
|
|
154
154
|
]
|
|
155
155
|
]
|
|
156
|
+
},
|
|
157
|
+
"codegenConfig": {
|
|
158
|
+
"name": "RNShieldFraudPluginSpec",
|
|
159
|
+
"type": "modules",
|
|
160
|
+
"jsSrcsDir": "src",
|
|
161
|
+
"android": {
|
|
162
|
+
"javaPackageName": "com.shieldfraudplugin"
|
|
163
|
+
}
|
|
156
164
|
}
|
|
157
165
|
}
|
|
@@ -10,10 +10,20 @@ Pod::Spec.new do |s|
|
|
|
10
10
|
s.license = package["license"]
|
|
11
11
|
s.authors = package["author"]
|
|
12
12
|
|
|
13
|
-
s.platforms = { :ios => "
|
|
13
|
+
s.platforms = { :ios => "12.0" }
|
|
14
14
|
s.source = { :git => "https://github.com/rajdeepak27/react-native-shield-fraud-plugin.git", :tag => "#{s.version}" }
|
|
15
15
|
|
|
16
16
|
s.source_files = "ios/**/*.{h,m,mm}"
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
|
|
18
|
+
# Enable Clang modules in C++ mode so that @import ShieldFraud; works
|
|
19
|
+
s.pod_target_xcconfig = {
|
|
20
|
+
'CLANG_ENABLE_MODULES' => 'YES',
|
|
21
|
+
'OTHER_CPLUSPLUSFLAGS' => '$(inherited) -fmodules -fcxx-modules'
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
# install_modules_dependencies handles New Architecture (Turbo Modules / Fabric)
|
|
25
|
+
# and replaces the legacy `s.dependency "React"` call.
|
|
26
|
+
install_modules_dependencies(s)
|
|
27
|
+
|
|
28
|
+
s.dependency "ShieldFraud", ">= 1.5.55"
|
|
19
29
|
end
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
import { TurboModuleRegistry } from 'react-native';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* TypeScript spec for the ShieldFraudPlugin Turbo Module.
|
|
6
|
+
* This file is used by React Native codegen to auto-generate
|
|
7
|
+
* native interface code for both iOS and Android.
|
|
8
|
+
*/
|
|
9
|
+
export interface Spec extends TurboModule {
|
|
10
|
+
/**
|
|
11
|
+
* Initializes the ShieldFraud SDK with the provided configuration.
|
|
12
|
+
*/
|
|
13
|
+
initShield(
|
|
14
|
+
siteID: string,
|
|
15
|
+
secretKey: string,
|
|
16
|
+
isOptimizedListener: boolean,
|
|
17
|
+
blockedDialog: Object | null,
|
|
18
|
+
logLevel: number,
|
|
19
|
+
environmentInfo: number,
|
|
20
|
+
/** Android-only: block screen recording while the SDK is active. Ignored on iOS. */
|
|
21
|
+
blockScreenRecording: boolean
|
|
22
|
+
): Promise<void>;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Sets cross-platform metadata (name + version) on the SDK.
|
|
26
|
+
*/
|
|
27
|
+
setCrossPlatformParameters(
|
|
28
|
+
crossPlatformName: string,
|
|
29
|
+
crossPlatformVersion: string
|
|
30
|
+
): void;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Returns the current session ID synchronously.
|
|
34
|
+
*/
|
|
35
|
+
getSessionId(): string;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Returns whether the SDK has been initialized synchronously.
|
|
39
|
+
*/
|
|
40
|
+
isShieldInitialized(): boolean;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Registers a listener for the device-result-ready state event.
|
|
44
|
+
*/
|
|
45
|
+
setDeviceResultStateListener(): void;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Sends custom attributes for a given screen name.
|
|
49
|
+
*/
|
|
50
|
+
sendAttributes(screenName: string, data: Object): void;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Sends custom attributes for a given screen name with success/error callbacks.
|
|
54
|
+
*/
|
|
55
|
+
sendAttributesWithCallback(
|
|
56
|
+
screenName: string,
|
|
57
|
+
data: Object,
|
|
58
|
+
successCallback: (result: boolean) => void,
|
|
59
|
+
errorCallback: (error: string) => void
|
|
60
|
+
): void;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Retrieves the latest device result via success/error callbacks.
|
|
64
|
+
*/
|
|
65
|
+
getLatestDeviceResult(
|
|
66
|
+
successCallback: (result: Object) => void,
|
|
67
|
+
errorCallback: (error: Object) => void
|
|
68
|
+
): void;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Triggers a device signature computation for a given screen and returns
|
|
72
|
+
* the latest device result (or error) via callbacks once complete.
|
|
73
|
+
*/
|
|
74
|
+
sendDeviceSignature(
|
|
75
|
+
screenName: string,
|
|
76
|
+
successCallback: (result: Object) => void,
|
|
77
|
+
errorCallback: (error: string) => void
|
|
78
|
+
): void;
|
|
79
|
+
|
|
80
|
+
// Required by RCTEventEmitter for New Architecture compatibility
|
|
81
|
+
addListener(eventName: string): void;
|
|
82
|
+
removeListeners(count: number): void;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export default TurboModuleRegistry.getEnforcing<Spec>('ShieldFraudPlugin');
|