...
...
Android Registration Client
Overview
The Community Android Registration Client is a mobile and tablet application that serves as a portable version of the existing desktop Registration Client. It has been developed to support accessibility on all Android devices. The introduction creation of the Community Android Registration Client came about in order was driven by the need to meet the mobility requirements of countries adopting MOSIP.
The primary objective of the mobile tablet version is to facilitate the registration process for residents, specifically especially those who are unable to physically visit registration centres and also serve centers. It also serves remote locations where setting up a Registration centres aren’t registration centers is not feasible. To address this challenge, the Community Android Registration Client was created, enabling operators and supervisors to easily reach remote areas and maximise maximize resident registrations across the country.
How to install Android Reg Client:
Download and install the APK on Android tablet.
Once Android Reg Client is installed, long press on the logo to copy the machine details.
On the admin portal, using admin credentials, login and perform the following to add the device:
Go to resources/ machine and click on “Create machine”
Add a new machine and enter the machine details:
Add the specs as “Mobile”
Map it to a center and zone
machine spec ID as “Mobile”
Enter Device name
Enter Public Key
Enter Sign Public Key
Create the role Default in KeyCloak with all the other roles.
Create the operator’s user account in KeyCloak and set the password and assign the role as “Default”, “REGISTRATION_OFFICER”, “Registration Operator”, “REGISTRATION_SUPERVISOR”,
Login into Admin Portal to perform the following to add the user:
After login into admin portal, go to user zone mapping and add the zone for the user and activate the zone
Go to user center mapping and add the center for the user and activate the center
Note: The user should be mapped to the same Zone and Center to which the device was mapped to.
Assumptions: The tablet is a biometric enabled tablet with SBI already setup, if people are evaluating this application on non biometric tablet. comment
Features:
Below are the key features available in 0.9.0 release of Android Reg ClientTo have a glance at the features, refer to the video below!
*insert video here*
Features
The first developer release of the Android Registration Client offers the following key features:
Operator/ Supervisor Login (offline and online): The Operators can securely login using their credentials, whether in offline as well as in online mode and proceed with their transactions. For the offline login to work, the Operator must have logged in at-least once and performed sync over or online mode, to carry out various registration transactions. To enable offline login, the operator must have previously logged in and synchronized their data over a network.
Multi-language support: Multiple languages are supported on the Android Reg client Support: The Android Registration Client supports multiple languages for content display and data entry.
Display Language: Display Language
...
refers to the language
...
used for rendering UI elements
...
such as labels and headings
...
. With the Android Registration Client
...
, Operators have the
...
option to choose
...
their preferred language
...
for UI display. This language selection can be made on the login screen.
...
Currently, the supported display languages
...
include Arabic, French, and English
...
.
A new language New languages can be added by following the below steps:
Additional languages can be
...
configured by adding
...
localization files in
...
Code Block | ||
---|---|---|
| ||
lib/l10n |
...
lib/l10n folder present in the root project directory("android_registration_client").
The languages that are rendered on the UI will be based on the country configuration (after master data sync). The default display language is English.
...
Other languages will be available in the UI after the master data sync.
For more information, refer to the Flutter doc-Internationalizing Flutter apps.
Data Entry Language: The Data Entry Language
...
refers to the specific language
...
utilized by the Operator
...
while gathering data, which is then stored on the server in that selected language. During the registration process, the Operator can choose the language preference for the data collected, allowing applicants to provide information in their desired language. This language selection option becomes available upon initiating a new registration. The responsibility for managing the data entry language
...
lies within the UI Spec, and any modifications or changes can be
...
made through that specification.
Auto-Sync/ manual sync: On launching the Android
...
Registration Client and logging in for the first time, the system automatically syncs the following data:
Configuration sync: Sync of properties which drives in deciding the ARC UI functionality. For example: Invalid login attempts, idle timeout, thresholds, etc.
Masterdata sync: As a part of this sync, supporting information like Dynamic
...
field data, templates, locations, screen authorization, blocklisted words, etc. are pulled in.
UserDetails sync: userID, along with their status is synced. Only the user details belonging to machine mapped center will be synced.
Certificate sync: Certificates used to validate the server signatures, device CA certificates, and public key (specific to a center and machine, also called
...
policy key) used to encrypt the registration packet will be synced.
This feature also enables the Operator to perform manual sync as required using the “Synchronize Data” option.
New Registrations: Operators can register a resident using “New Registration” the New Registration feature. The new registration flow process can be configured using UI spec. Below are the data that needs to be captured to register an applicantcustomized through the UI specification. The required data for registering an applicant are as follows:
Consent:
...
Before the registration process, applicants must provide consent to the terms and conditions
...
presented on the consent screen
...
. This explicitly asks the applicant to
...
grant permission for storing and using their Personally Identifiable Information (PII).
...
Demographic Details: Once the consent is
...
obtained, the Operator will enter the demographic data of the applicant in the language preferred by the applicant.
...
This includes details such as their name, gender, date of birth, and residential address.
Documents Upload:
...
Following the completion of the demographic
...
details, the
...
Operator can
...
select the document type,
...
input the reference, and upload the supporting documents
...
provided by the applicant. Supporting documents
...
may include
...
Proof of Address, Proof of Identity, and Proof of Birth
...
, based on
...
the country-specific requirements.
Biometrics:
...
After the documents
...
have been uploaded, the Operator will proceed to capture the applicant's biometrics
...
. The biometrics captured are as follows:
...
Fingerprints
...
Iris
...
Photograph
Exception
...
photograph
The capture acquisition of biometrics biometric data is governed regulated by the country, i.e. . The country has control over the capture of each modality type of biometric (fingerprint, iris, or face) can be controlled by the country using the through the global configuration. When the operator clicks on Operator selects the Capture button, the control goes to biometric SBI application where is accessed to capture the biometrics are captured.
Once the biometrics are capturedobtained, the data and the control goes back are returned to the Android Reg Registration Client. To capture obtain the resident's biometrics of the resident, the quality of the captured image should be more than must exceed the threshold configured specified by the country. The biometrics can be captured for a configured number of times in order to cross multiple times if necessary to meet the quality threshold set limit. In a scenario situations where none of the captured images cross meet the threshold, the one image with best the highest quality score will be storedsaved.
Biometrics exceptions: If the resident has a biometric exception (i.e. resident is missing a such as a missing finger/eye or quality of very poor finger/iris is very poorquality), the Operator can mark designate that particular biometrics biometric as an exception but . However, the Operator has to must still capture the resident's exception photo.e.
Preview section: The Operator
...
has the ability to review the data
...
entered by the applicant, including demographic information, uploaded documents, and captured biometrics. This preview allows the Operator to ensure the accuracy of the entered data. If any mistakes are found, the Operator can easily go back to the corresponding section and make the necessary corrections. If the data is correct,
...
the Operator can proceed to the next step, which is to authenticate
...
themselves.
...
Operator authentication: Once both the Operator and applicant
...
have confirmed that the data is
...
accurately filled, the Operator
...
is required to authenticate
...
themselves using
...
their credentials.
...
After a successful authentication, the
...
data packets are created and only then the sync and upload operations can be performed.
Packet sync:
...
After the
...
applicant's registration form
...
has been completed and the Operator has authenticated
...
themselves, a packet sync
...
must be performed. This can be done either manually or as a background job(auto sync and upload of packets). Packet sync ensures that the packet is prepared for uploading and the status of the uploaded packet is synchronized with the server.
Packet Upload: Once the packet sync is
...
successfully completed, the system will proceed to upload the packet to the server
...
when an internet connection is available. If there is no network access, the system will attempt to upload the packet
...
as soon as connectivity is established.
...
Acknowledgment section:
...
Following the completion of the new registration process
...
, an acknowledgment receipt is generated.
...
This receipt includes the AID(Application ID), captured demographic data in the selected language, a photograph of the resident, and a ranking of each finger from 1 to 10
...
, with 1
...
representing the finger with the best quality
...
.
...
The receipt is
...
designed to be easily printed.
Operator onboarding: The operator, To log in order to login to the Android Registration Client, will have to onboard himselfthe operator must complete the onboarding process. This functionality is available on only during the first time online login only. The Operator operator will have need to onboard himself by capturing his their fingerprints, thumb printthumbprints, iris, and face. Once these are duly captured, the Operator operator can start registering residents and start using other services.
Update Operator onboarding: The Operators can also update their biometrics. In this scenario, the Operator will have to capture all their biometrics. On By doing this, the previous biometrics captured during Operator Onboarding will be overridden by the newly captured biometrics.
Dashboard: The Operator can access the dashboard where he can view the following:
Packets created: This will show the total number of packets created from the time the Android Registration Client was installed.
Packets Synced: This will show the total number of packets synced from the time the Android Registration Client was installed.
Packets Uploaded: This will show the total number of packets uploaded from the time the Android Registration Client was installed.
User details:
User ID: This will show the list of User IDs of the Users mapped to the device.
Username: This will show the list of Username usernames of the Users mapped to the device.
Status: This will show the status of Users mapped to the device. This can take values such as onboarded, active, inactive, etc.
Supervisor's Approval: Once the packet is created by the Operator, as an additional check, Supervisor will have to go through each application to make sure the details filled are in coherence. At this stage the Supervisor can either Approve the Application or he can Reject it. If the Supervisor decides to reject it, they also will have to mandatorily mention the reason of rejection. Once the Application has been Approved or Rejected, the Supervisor will have to authentication himself by entering his Username and Password. Once they have successfully authenticated, the Application will be removed from the “Supervisor’s Approval” section and will be moved to “Manage Application” Section.
PS: This feature will only be available for a users having “Supervisor” role.
Manual Application upload/export: Once the Application is either Approved or Rejected by the Supervisor, those packets can be uploaded to the server from “Manage Application” section. If there is internet connectivity, the packet will be synced and uploaded to the server but in case of lack of internet connectivity, the User can also export the packet to their local device storage.
Update UIN: In a scenario where the Resident wants to update their data, they can do so by letting the Operator know their UIN and the data that needs to be updated. Residents can update their demographic details, documents and biometrics using this feature.
Logout: Using this feature, once the user is done with their registration and other activities, they can logout. If there are no background tasks running, the user will be immediately logged out. While if there are tasks (like sync) running in the background, the user will be notified about the same. From here if the User wants to cancel logout, the background activities will keep running where as if the user choses to logout, they will be logged out and the background activities will be terminated.
Configuration Guide
To read through the comprehensive list of configurable properties for the Android Registration Client, refer Android Registration Client Configuration Guide.
UI Specifications
For more details on UI specifications for the Android Registration Client, refer here.
Compatibility
The Android Registration Client is compatible with the following MOSIP platform versions:
1.1.5.x
LTS 1.2.0 and above