🚨 Deprecated Documentation 🚨 Please note that this documentation is no longer being updated.
During an enrolment, a frontline worker will collect a beneficiary's biometrics. Their biometrics will be linked to a GUID (Globally Unique Identifier). The GUID is shared with the custom Android application.
To register a new beneficiary using Simprints ID, you will need to build an Intent using SimHelper:
Step 1: Create a register Intent to Simprints ID:
Intent intent = simHelper.register("Module ID");
startActivityForResult(intent, 1); // 1 is your requestCode for the callback
After registering a beneficiary's biometrics, you will want to retrieve and store the GUID (refer above) to the beneficiary's record on your custom Android application.
Step 2: Create a section to retrieve and store the GUID and Add Biometrics Complete check* as highlighted in bold below:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Here we check the request + result code
// We can pull the unique ID from LibSimprints by creating a registration
// object from the returned Intent data, and retrieving the GUID.
Registration registration =
data.getParcelableExtra(Constants.SIMPRINTS_REGISTRATION);
String uniqueId = registration.getGuid();
Boolean check =
data.getBooleanExtra(Constants.SIMPRINTS_BIOMETRICS_COMPLETE_CHECK);
String sessionId = data.getStringExtra(Constants.SIMPRINTS_SESSION_ID);
}
*You must add logic in your application, to only allow a user to continue in their workflow if biometricsCompleteCheck = True. To add a check on whether a user has completed a Simprints flow, use the Biometrics Complete check boolean. To find out more about Biometrics Complete check, click here.
You have successfully completed a Simprints registration
Enrolment+ is a feature that is explained in detail on the 'Our Product' page. As a quick recap, enrolment+ allows you to check for duplicate enrolments prior to enrolling a new beneficiary. Therefore, if Simprints finds biometrics that may already be enrolled, we will send that result back to the calling app. In order to receive this response, you will need to use the following code from LibSimprints.
The Callout remains the same as above.
The Callback looks like the following:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Boolean check = data.getBooleanExtra(Constants.SIMPRINTS_BIOMETRICS_COMPLETE_CHECK);
//Check if identifications are returned in the result or a registration
if (data.hasExtra(Constants.SIMPRINTS_IDENTIFICATIONS)) {
ArrayList<Identification> identifications =
data.getParcelableArrayListExtra(Constants.SIMPRINTS_IDENTIFICATIONS);
for (int i = 0; i < identifications.size(); i++) {
identifications.get(i).getGuid();
identifications.get(i).getConfidence();
identifications.get(i).getTier();
}
} else if (data.hasExtra(Constants.SIMPRINTS_REGISTRATION)){
Registration registration =
data.getParcelableExtra(Constants.SIMPRINTS_REGISTRATION);
String uniqueId = registration.getGuid();
}
}
As a result of this callback, if Simprints returns a list of identifications, then you will display the results. There are two outcomes for what happens next:
The correct beneficiary shows up in that list, and the frontline worker wants to confirm that result. When they select the beneficiary from the list, your application will respond with an Identification Outcome callout.
If the frontline worker still believes this beneficiary is unique from the presented options, then they would select something in the UI to indicate 'Enrol this person' and then your application will respond with Register Last Biometrics.