React Native Components v5.3.0
· 2 min read
Improves the public interface of the biometrics enrollment flow, and minor fixes.
Added
BiometricsEnrollmentResultto define the potential outcomes of the enrollment process.
Changed
- Updated iOS SDK version to 3.4.0
- Updated Android SDK version to 3.9.0
Deprecated
- Deprecated
startEnrollment(firebaseToken: string, authToken: string): Promise<Result<string, WeavrError>>;in favour ofstartEnrollment(): Promise<BiometricsEnrollmentResult>;
Migration guide
Update any calls to startEnrollment(firebaseToken: string, authToken: string) to startEnrollment(), making sure you take the following actions:
- Ensure you have provided a fresh token to
setUserToken() - Ensure you have provided a fresh Firebase Cloud Messaging (FCM) token via
updateFCMToken() - Update your call to
startEnrollmentto a snippet similar to:
let result = await startEnrollment();
switch (result.case) {
case "completed":
console.log("Enrollment completed");
break;
case "initialisationError":
console.log("SDK not initialised:" + result.error);
break;
case "cryptographyError":
console.log("Cryptography error:" + result.error);
break;
case "noBiometricsAvailable":
switch (result.biometricAvailability) {
case "noneEnrolled":
console.log("Device supports biometrics but none are enrolled");
break;
case "hwUnavailable":
console.log("Biometrics hardware is temporarily unavailable");
break;
case "noHardware":
console.log("Device has no biometrics hardware");
break;
}
break;
case "challengeFailed":
console.log("Challenge failed:" + result.cause);
break;
case "failedBiometricsChallenge":
console.log("User failed biometrics challenge");
break;
case "unauthorized":
console.log("Unauthorized. Please sign in again.");
break;
case "userDoesNotConsent":
console.log("User did not consent to enrollment");
break;
case "failedToLoadBrand":
console.log("Failed to load biometrics configuration");
break;
case "noPhoneNumberAvailable":
console.log("No phone number available");
break;
}