uqudosdk-react-native 3.0.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## 3.1.0
2
+
3
+ * Introducing a new configuration option for facial recognition, enabling 1:N face match verification. Once activated, following a successful facial recognition (confirming liveness and matching the face), the system initiates a search for the user's selfie within your tenant. If the selfie is not found, it is added, and the indexed facial features are stored in the database. The SDK result includes a unique ID in the face object, along with an indication of whether there was a match with a previously onboarded selfie. It's essential to store this unique ID in your system alongside the user's record, facilitating future searches for users with the same ID. Please be aware that this option requires a specific permission, otherwise, it will be disregarded. For further information or to explore this new feature, please reach out to your account manager.
4
+ * In iOS 17.4, a bug was introduced in the NFC popup, resulting in the progress bar no longer being visible. We've implemented a workaround to address this issue and ensure the progress bar is once again visible.
5
+
6
+ ## 3.0.2
7
+
8
+ * Enhanced the screen resolution ratio to optimize facial recognition, aimed at reducing rejections caused by liveness check failures.
9
+ * Reactivated the 'forceReadingTimeout(timeout)' option for the NFC step, allowing users to skip NFC scanning if they're unable to complete it before the timeout expires, with a corresponding notification message.
10
+ * Resolved an iOS bug where customization of the back button layout was not being applied.
11
+ * Removed the debug executable check from the jailbroken security verification process on iOS. Please note that while the SDK performs this check, it's advised to conduct it within your application as well.
12
+ * Introduced a new 'InitializationException' for Android, thrown when the SDK fails to load native libraries due to a bug on certain Android devices. This exception enables your application to handle the issue gracefully instead of crashing.
13
+ * Addressed potential crashes on Android that could occur when the application transitions between background and foreground states during document scanning.
14
+
1
15
  ## 3.0.1
2
16
 
3
17
  * Important improvement in the id photo tampering detection during document scanning to identify any alterations to the ID photo.
@@ -33,5 +33,5 @@ android {
33
33
 
34
34
  dependencies {
35
35
  implementation 'com.facebook.react:react-native:+'
36
- implementation 'io.uqudo.sdk:Uqudo:3.0.1'
36
+ implementation 'io.uqudo.sdk:Uqudo:3.1.0'
37
37
  }
@@ -166,6 +166,11 @@ public class UqudoIdModule extends ReactContextBaseJavaModule implements Activit
166
166
  faceBuilder.enableAuditTrailImageObfuscation(ObfuscationType.FILLED_WHITE);
167
167
  }
168
168
  }
169
+
170
+ if (faceObject.has("isOneToNVerificationEnabled") && faceObject.getBoolean("isOneToNVerificationEnabled")) {
171
+ faceBuilder.enableOneToNVerification();
172
+ }
173
+
169
174
  enrollment.enableFacialRecognition(faceBuilder.build());
170
175
  }
171
176
  if (json.has("lookupConfiguration")) {
@@ -431,6 +436,10 @@ public class UqudoIdModule extends ReactContextBaseJavaModule implements Activit
431
436
  faceBuilder.enableAuditTrailImageObfuscation(ObfuscationType.FILLED_WHITE);
432
437
  }
433
438
  }
439
+
440
+ if (faceObject.has("isOneToNVerificationEnabled") && faceObject.getBoolean("isOneToNVerificationEnabled")) {
441
+ faceBuilder.enableOneToNVerification();
442
+ }
434
443
  lookupBuilder.enableFacialRecognition(faceBuilder.build());
435
444
  }
436
445
  if (json.has("backgroundCheckConfiguration")) {
package/ios/UqudoId.m CHANGED
@@ -99,6 +99,11 @@ RCT_EXPORT_METHOD(enroll:(NSString *)enrollObj resolver:(RCTPromiseResolveBlock)
99
99
  config.obfuscationType = FILLED_WHITE;
100
100
  }
101
101
  }
102
+
103
+ if (facialRecognitionSpecification[@"isOneToNVerificationEnabled"]) {
104
+ config.enableOneToNVerification = [[facialRecognitionSpecification valueForKey:@"isOneToNVerificationEnabled"] boolValue];
105
+ }
106
+
102
107
  enrollmentBuilder.facialRecognitionConfig = config;
103
108
  }
104
109
 
@@ -493,6 +498,11 @@ RCT_EXPORT_METHOD(lookup:(NSString *)lookupObj resolver:(RCTPromiseResolveBlock)
493
498
  config.obfuscationType = FILLED_WHITE;
494
499
  }
495
500
  }
501
+
502
+ if (facialRecognitionSpecification[@"isOneToNVerificationEnabled"]) {
503
+ config.enableOneToNVerification = [[facialRecognitionSpecification valueForKey:@"isOneToNVerificationEnabled"] boolValue];
504
+ }
505
+
496
506
  lookupBuilder.facialRecognitionConfig = config;
497
507
 
498
508
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "uqudosdk-react-native",
3
3
  "title": "React Native UqudoId",
4
- "version": "3.0.1",
4
+ "version": "3.1.0",
5
5
  "description": "Uqudo SDK react native module",
6
6
  "main": "index.js",
7
7
  "author": {
@@ -293,8 +293,13 @@ export class FacialRecognitionConfigurationBuilder {
293
293
  return this;
294
294
  },
295
295
 
296
+ enableOneToNVerification: function () {
297
+ this.isOneToNVerificationEnabled = true;
298
+ return this;
299
+ }
300
+
296
301
  build: function () {
297
- return new FacialRecognitionConfiguration(this.enrollFace, this.scanMinimumMatchLevel, this.readMinimumMatchLevel, this.lookupMinimumMatchLevel, this.maxAttempts,this.isAllowClosedEyes,this.obfuscationType);
302
+ return new FacialRecognitionConfiguration(this.enrollFace, this.scanMinimumMatchLevel, this.readMinimumMatchLevel, this.lookupMinimumMatchLevel, this.maxAttempts,this.isAllowClosedEyes,this.obfuscationType,this.isOneToNVerificationEnabled);
298
303
  }
299
304
  };
300
305
  }
@@ -302,7 +307,7 @@ export class FacialRecognitionConfigurationBuilder {
302
307
 
303
308
 
304
309
  export class FacialRecognitionConfiguration {
305
- constructor(enrollFace, scanMinimumMatchLevel, readMinimumMatchLevel, lookupMinimumMatchLevel, maxAttempts,isAllowClosedEyes,obfuscationType) {
310
+ constructor(enrollFace, scanMinimumMatchLevel, readMinimumMatchLevel, lookupMinimumMatchLevel, maxAttempts,isAllowClosedEyes,obfuscationType,isOneToNVerificationEnabled) {
306
311
  this.enrollFace = enrollFace;
307
312
  this.scanMinimumMatchLevel = scanMinimumMatchLevel;
308
313
  this.readMinimumMatchLevel = readMinimumMatchLevel;
@@ -310,6 +315,7 @@ export class FacialRecognitionConfiguration {
310
315
  this.maxAttempts = maxAttempts;
311
316
  this.allowClosedEyes = isAllowClosedEyes;
312
317
  this.obfuscationType = obfuscationType;
318
+ this.isOneToNVerificationEnabled = isOneToNVerificationEnabled;
313
319
  }
314
320
  }
315
321
 
@@ -13,5 +13,5 @@ Pod::Spec.new do |s|
13
13
  s.source = { :http => 'https://uqudo.com' }
14
14
  s.header_dir = 'UqudoSDK'
15
15
  s.dependency 'React'
16
- s.dependency 'UqudoSDK', '3.0.1'
16
+ s.dependency 'UqudoSDK', '3.1.0'
17
17
  end