BlinkID / blinkid-ui-android

Customizable UI library that includes camera management, scanning screen, and document selection module.
35 stars 10 forks source link

In UAE emirates ID scan, we are not getting the field DocumentNumber #38

Closed samirpramanik closed 5 years ago

samirpramanik commented 5 years ago

In an earlier version of blink ID, we were reading a value from the recognized results named "DocumentNumber". In the version 4.6.0, we are getting Document number and its value is the emirates ID number. Earlier, we used to get DocumentNumber with a value retrieved from the MRZ raw data. For example, if the raw value is : ILARE0121151474754399237350477 9846735M2012087AUS<<<<<<<<<<<0 PRAMANIK<<SAMIR<<<<<<<<<<<<<<<, then in DocumentNumber we used to get "012115147" which is the immediate value after ILARE in the raw value of MRTD. So, is there any other API to retrieve this which we were already getting in the older version 3.18.

matvidako commented 5 years ago

Hi,

document number should still be in the result.

If you're using UnitedArabEmiratesIdBackRecognizer directly, you can get it like this: uaeBackRecognizer.getResult().getMrzResult().getDocumentNumber()

And if you're using BlinkID UI, search for R.string.keyDocumentNumber key.

samirpramanik commented 5 years ago

Hi,

We are using Blink ID UI, and we are fetching the results in the same way as it has been shown in the sample app i.e. inside onEntireDocumentScanned method, recognitionResult.getResultEntries() and then we are iterating over the set of key value pairs and listing out all of them. The log is as shown below : Full name : Samir Pramanik Document number : 721-1442-3723247-1 Nationality : India Primary ID : PRAMANIK Secondary ID : SAMIR Date of birth : 01.01.1990. Sex : M Document code : IL Issuer : ARE Date of expiry : 02.11.2223. Optional field 2 : <<<<<<<<<<< MRZ text : ILARE1214159074721144237232471 9203033M2918087AUS<<<<<<<<<<<0 PRAMANIK<<SAMIR<<<<<<<<<<<<<<< Optional field 1 : 721144237232471

We are getting document number, but we are getting the same value as the emirates ID. However, PFB the logs from 3.18 version : PaymentDataType :: UnitedArabEmiratesIDBack Sex :: M Opt1 :: 721144237232471 Opt2 :: <<<<<<<<<<< PrimaryId :: PRAMANIK DocumentNumber :: 121415907 - this is what we are expecting ImmigrantCaseNumber :: ApplicationRecieptNumber :: Nationality :: IND SecondaryId :: SAMIR MRTDRaw :: ILARE12141590774721144237232471 1223423M2012087AUS<<<<<<<<<<<0 PRAMANIK<<SAMIR<<<<<<<<<<<<<<<

matvidako commented 5 years ago

Ok, I see where the issue is. We'll include the fix in the next release (next week).

Please try branch with the fix and let me know if it fixes your issue.

samirpramanik commented 5 years ago

Yep it is working fine now. Thanks. The same key was getting updated again i guess.