uqudosdk-react-native 3.0.2 → 3.1.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/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ ## 3.1.1
2
+
3
+ * Introducing the new document type UAE_ID_DIGITAL aimed at clearly distinguishing between the digital and physical versions. If you want to accept the digital version, it is necessary to treat this as a separate document type in your Enrollment Builder Configuration. Furthermore, if you select the document type UAE_ID_DIGITAL, make sure to enable non-physical documents and deactivate tampering rejection to ensure successful scanning. It's important to note that starting from this version onwards, selecting the document type UAE_ID while the user provides the digital version will result in rejection. Likewise, selecting UAE_ID_DIGITAL while the user provides the physical version will yield the same outcome.
4
+ * For Android, fixed crash during document scanning in the rare case the phone doesn't support high resolution. Please make sure to update to this version to prevent any potential crashes.
5
+ * Minor improvements
6
+
7
+ ## 3.1.0
8
+
9
+ * 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.
10
+ * 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.
11
+
1
12
  ## 3.0.2
2
13
 
3
14
  * Enhanced the screen resolution ratio to optimize facial recognition, aimed at reducing rejections caused by liveness check failures.
@@ -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.2'
36
+ implementation 'io.uqudo.sdk:Uqudo:3.1.1'
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.2",
4
+ "version": "3.1.1",
5
5
  "description": "Uqudo SDK react native module",
6
6
  "main": "index.js",
7
7
  "author": {
@@ -113,6 +113,7 @@ export const DocumentType = Object.freeze(
113
113
  LBN_DL: 'LBN_DL',
114
114
  MRZ: 'MRZ',
115
115
  IRQ_ID: 'IRQ_ID',
116
+ UAE_ID_DIGITAL: 'UAE_ID_DIGITAL',
116
117
  }
117
118
  );
118
119
 
@@ -293,8 +294,13 @@ export class FacialRecognitionConfigurationBuilder {
293
294
  return this;
294
295
  },
295
296
 
297
+ enableOneToNVerification: function () {
298
+ this.isOneToNVerificationEnabled = true;
299
+ return this;
300
+ }
301
+
296
302
  build: function () {
297
- return new FacialRecognitionConfiguration(this.enrollFace, this.scanMinimumMatchLevel, this.readMinimumMatchLevel, this.lookupMinimumMatchLevel, this.maxAttempts,this.isAllowClosedEyes,this.obfuscationType);
303
+ return new FacialRecognitionConfiguration(this.enrollFace, this.scanMinimumMatchLevel, this.readMinimumMatchLevel, this.lookupMinimumMatchLevel, this.maxAttempts,this.isAllowClosedEyes,this.obfuscationType,this.isOneToNVerificationEnabled);
298
304
  }
299
305
  };
300
306
  }
@@ -302,7 +308,7 @@ export class FacialRecognitionConfigurationBuilder {
302
308
 
303
309
 
304
310
  export class FacialRecognitionConfiguration {
305
- constructor(enrollFace, scanMinimumMatchLevel, readMinimumMatchLevel, lookupMinimumMatchLevel, maxAttempts,isAllowClosedEyes,obfuscationType) {
311
+ constructor(enrollFace, scanMinimumMatchLevel, readMinimumMatchLevel, lookupMinimumMatchLevel, maxAttempts,isAllowClosedEyes,obfuscationType,isOneToNVerificationEnabled) {
306
312
  this.enrollFace = enrollFace;
307
313
  this.scanMinimumMatchLevel = scanMinimumMatchLevel;
308
314
  this.readMinimumMatchLevel = readMinimumMatchLevel;
@@ -310,6 +316,7 @@ export class FacialRecognitionConfiguration {
310
316
  this.maxAttempts = maxAttempts;
311
317
  this.allowClosedEyes = isAllowClosedEyes;
312
318
  this.obfuscationType = obfuscationType;
319
+ this.isOneToNVerificationEnabled = isOneToNVerificationEnabled;
313
320
  }
314
321
  }
315
322
 
@@ -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.2'
16
+ s.dependency 'UqudoSDK', '3.1.1'
17
17
  end