blinkid_flutter 7.2.0
blinkid_flutter: ^7.2.0 copied to clipboard
Flutter plugin for BlinkID, SDK for scanning and OCR of various identity documents.
7.2.0 #
The version 7 release of the BlinkID SDK.
- Updated to Android SDK v7.2.0 and iOS SDK v7.2.0
- For more information about the inital version 7 release, see the release notes for the native SDKs for Android and iOS.
Breaking changes #
-
The plugin now requires:
- iOS version 16.0 and above.
- Android API version 24 and above.
- Flutter version 3.29 and above.
-
Class
MicroblinkScannerhas been renamed toBlinkidFlutter. -
Method
scanWithCamerahas been renamed toperformScan. -
Method
scanWithDirectApihas been renamed toperformDirectApiScan. -
Many of the older settings have been renamed to be more intuitive, for more information see the blinkid_settings.dart file, and the native documentation for Android and iOS.
-
See section Version 7 plugin usage for more details about how to use each method, and how to handle the scanned results.
Version 7 plugin usage #
The performScan method
The performScan method launches the BlinkID scanning process with the default UX properties.
It takes the following parameters:
- BlinkID SDK settings
- BlinkID session settings
- The optional ClassFilter object for filtering documents.
BlinkID SDK Settings - BlinkIdSdkSettings: the class that contains all of the available SDK settings. It contains settings for the license key, and how the models, that the SDK needs for the scanning process, should be obtained.
BlinkID Session Settings - BlinkIdSessionSettings: the class that contains various settings for the scanning session. It contains the settings for the ScanningMode and BlinkIdScanningSettings, which define various parameters that control the scanning process.
The optional ClassFilter class - ClassFilter: the class which controls which documents will be accepted or reject for information extraction during the scanning session.
- The implementation of the
performScanmethod can be viewed here in the blinkid_flutter_method_channel.dart file.
The performDirectApiScanning method
The performDirectApiScan method launches the BlinkID scanning process inteded for information extraction from static images.
It takes the following parameters:
- BlinkID SDK settings
- BlinkID session settings
- First image string in the Base64 format
- The optional second image string in the Base64 format
BlinkID SDK Settings - BlinkIdSdkSettings: the class that contains all of the available SDK settings. It contains settings for the license key, and how the models, that the SDK needs for the scanning process, should be obtained.
BlinkID Session Settings - BlinkIdSessionSettings: the class that contains various settings for the scanning session. It contains the settings for the [ScanningMode] and [BlinkIdScanningSettings], which define various parameters that control the scanning process.
The first image Base64 string - String: image that represents one side of the document. If the document contains two sides and the ScanningMode is set to automatic, this should contain the image of the front side of the document. In case the ScanningMode is set to single, it can be either the front or the back side of the document. If the document contains only one side (for example, various passports), the SDK will automatically detect it, and will not look for the other side.
The optional second image Base64 string - String: needed if the information from back side of the document is required and the ScanningMode is set to automatic.
- The implementation of the
performDirectApiScanmethod can be viewed here in the blinkid_flutter_method_channel.dart file. - All of the mentioned settings can be found in the blinkid_settings.dart file.
BlinkID result
-
Both methods return the
BlinkIdScanningResultobject, which contains the results of scanning a document, including the extracted data and images from the document. -
All of the available results can be viewed here.
Implementation guide
6.1.2 #
- Fixed date and
documentDataMatcherrors
6.1.1 #
- Updated to Android SDK v6.1.1 and iOS SDK v6.1.2
6.1.0 #
- Updated to Android SDK v6.1.0 and iOS SDK v6.1.1
5.8.1 #
- Fixed
documentDataMatchserialization.
5.8.0 #
- Updated to Android SDK v5.8.0 and iOS SDK v5.8.0
5.7.1 #
Major bug fix: #
- This version fixes bug introduced in v5.7.0 which could cause SDK crash on
applicationDidBecomeActiveevent.
5.7.0 #
Plugin changes #
- We changed the way BlinkID plugin is registered in Android so it no longer requires changing MainActivity. This fixes Issue #2 and Issue #5.
New features #
- We translated complete SDK to the following additional languages: Malay, Dutch, Hungarian, Slovenian, Indonesian, Arabic(UAE), Romanian, Chinese traditional, Chinese simplified, Thai, Hebrew, Vietnamese, Filipino.
Improvements to existing features: #
- We have improved parsing of MRZ formats deviating from the ISO/IEC 7501 standard:
- Document discriminator was in place of the document number on driver licenses and IDs from:
- New York
- Michigan
- Canada
- Different check digit calculation for Mexico (Consular) ID
- Recognition of the unofficial
XCTcountry code for Northern Cyprus ID - Recognition of different country codes and check digit calculation on China Mainland Travel Permit for Hong Kong and Macao Residents
- Document discriminator was in place of the document number on driver licenses and IDs from:
- We added anonymization support for:
- MRZ on the Mainland Travel Permit for Hong Kong and Macao Residents
- We have made some changes to the BlinkID(Combined)Recognizer
- You can now see
ProcessingStatusin the results to inspect potential processing errors, such as when barcode detection fails, a mandatory field is missing, etc. - You can now also see a more detailed
ImageAnalysisResultshowing you when:- Face image is detected
- MRZ is detected
- Barcode is detected
- We added a
RecognitionModeFiltersettings group. You can toggle flags on this object to control the recognition mode of the recognizer:enableMrzIdlets you scan MRZ on all identity documents except visas and passports.enableMrzVisalets you scan MRZ on visa documents.enableMrzPassportlets you scan MRZ on passports.enablePhotoIdlets you scan photo IDs. Use it to enable or disable document and face image extraction on unsupported documents.enableFullRecognitionlets you scan all data from our supported documents.- Your license key still controls which of the above recognition modes are allowed.
- We have added a
RecognitionModeresult member describing which recognition mode was used to produce the results. - We are now retrieving sex and nationality fields from the MRZ in cases where those two fields cannot be found in the document’s VIZ. Previously, we only used to do this for dates, name fields and document numbers.
- We are now preserving the original string (raw data) of the dates we couldn’t parse.
- You can now see
- We have improved the thresholds for card detection feedback messages ("move closer" and "move farther"). This will improve the UX when scanning in landscape mode as the document can now be closer to the camera.
Minor API Changes #
- We have made some changes to the
BlinkIDRecognizerandBlinkIDCombinedRecognizer:- We renamed
DocumentImageMoireStatustoImageAnalysisDetectionStatus - We grouped the
conditionsmember from the results with theDriverLicenseDetailedInfostructure
- We renamed
- We renamed
RecogitionModetoRecognitionDebugModeinRecognizerBundle.
Bug fixes: #
- We fixed an issue in default UI that was causing reticle to reappear while card flip animation was showing.
5.6.0 #
New features: #
-
We have translated complete SDK to following languages: Croatian, Czech, English, French, German, Italian, Portuguese, Slovak, and Spanish.
-
In
BlinkIdCombinedRecognizerandBlinkIdRecognizerwe added:- Support for US documents with vertical orientations:
- Alabama DL
- Arizona DL
- California DL
- Colorado DL
- Connecticut DL
- Georgia DL
- Illinois DL
- Iowa DL
- Kansas DL
- Kentucky DL
- Maryland DL
- Massachusetts DL
- Minnesota DL
- Missouri DL
- New Jersey DL
- Ohio DL
- Pennsylvania DL
- South Carolina DL
- Tennessee DL
- Texas DL
- Utah DL
- Washington DL
- Wisconsin DL
- Support for new document types:
- Croatia Health Insurance Card / front side / BETA
- Ecuador ID / front side
- El Salvador ID / BETA
- Sri Lanka ID / BETA
- No longer BETA:
- Canada Nova Scotia DL
- Canada Yukon DL
- Norway DL
- Back side support:
- Kenya ID
- Result anonymization - with this option enabled, results are not returned for protected fields on certain documents. The full document image will also have this data blacked out.
- Protected fields are:
- Document number on Hong Kong ID
- MRZ on Hong Kong passports
- Personal ID number on Netherlands DL
- Personal ID number and MRZ on Netherlands ID
- MRZ on Netherlands passports
- Document number on Singapore DL, ID, Fin Card, Resident ID
- Personal ID number on Singapore Employment Pass
- Document number and personal ID number on Singapore Work Permit
- MRZ on Singapore passports
- By using
anonymizationModeproperty, you can choose theAnonymizationMode:ImageOnly,ResultFieldsOnly,FullResultorNone.
- By using
FullResultanonymization (both images and data) is set by default.
- Support for US documents with vertical orientations:
-
We added support for new MRZ formats:
- Guatemala ID
- Kenya ID
Improvements to existing features: #
- We updated
UsdlRecognizerResultandIdBarcodeRecognizer.Resultwith additional address fields:street,postalCode,cityandjurisdiction
- We added
expired(in SwiftisExpired) property toBlinkIdRecognizerResult,BlinkIdCombinedRecognizerResultandIdBarcodeRecognizerResult.- It compares the current time on the device with the date of expiry and checks whether the document has expired or not.
- We made changes to the result structure of
BlinkIdCombinedRecognizerandBlinkIdRecognizer:- Barcode data is now encapsulated in its own result structure:
BarcodeResult. - Data from all OCR-ed fields, without MRZ data, is now encapsulated in a
VizResultstructure, representing the "Visual Inspection Zone" data. InBlinkIdCombinedRecognizer, front side data is available in its own structure (frontVizResult), back side data in its own (backVizResult), so you can now access data from each side separately. - The main part of the result, outside these structures, is filled according to these rules:
- Document number is filled with data from the MRZ, if present.
- Remaining data is then filled with barcode data.
- Remaining data is filled from the back side's visual inspection zone (OCR data outside of MRZ).
- Remaining data is filled from the front side's visual inspection zone.
- Remaining data is filled with data from the MRZ.
- Barcode data is now encapsulated in its own result structure:
Minor API changes: #
- We moved
BlinkIdRecognizerResultmemberscolorStatusandmoireStatusto the result'simageAnalysisResult(frontImageAnalysisResultandbackImageAnalysisResultinBlinkIDCombinedRecognizerResult).
Bug fixes: #
- We fixed US driver's license address extraction (Oregon, Mississippi, Rhode Island).
- We removed OpenGL entirely which was causing unexpected crashes.
5.5.0+1 #
Updated README for 5.5.0
5.5.0 #
New features: #
- In
BlinkIdCombinedRecognizerandBlinkIdRecognizerwe added:-
Support for obtaining full document image for IDs with barcodes. Now you can capture document image and extract barcode data with a single scan.
-
Scanning & data extraction for travel visas and passports.
-
Field validation - we validate if the results from certain fields match predefined character sets. - If validation fails, the recognizer's state is
RecognizerResultStateUncertain. - UsevalidateResultCharactersto enable or disable validation. -
Field anonymization for sensitive data. - Enable or disable whether certain sensitive data should be anonymized in full document image result. - Use
anonymizeImageto enable or disable image anonymization. -
Support for new document types:
- Australia New South Wales - ID Card / Front only / BETA
- Brazil - Driver License / BETA
- Brunei - Military ID / BETA
- Brunei - Residence Permit / BETA
- Brunei - Temporary Residence Permit / BETA
- Ghana - Driver License / Front only
- Latvia - ID Card
- Norway - Driving Licence / Front only / BETA
- Oman - ID Card
- Saudi Arabia - ID Card / BETA
- Sweden - Social Security Card / Front only
- USA - Social Security Card / BETA
- Back side supported:
- Malaysia - MyTentera
-
No longer BETA:
- Australia Tasmania - Driving Licence
- Canada British Columbia - ID Card
- Germany - Residence Permit
- Morocco - ID Card
- Nigeria - Voter ID
- Singapore - Work Permit
- USA Alaska - ID Card
- USA District Of Columbia - Driver License
- USA Indiana - ID Card
- USA Kentucky - ID Card
-
Barcode scanning on the following documents:
- Argentina ID
- Colombia ID
- Nigeria Voter ID
- South Africa ID
-
Improvements for existing features: #
- Improvements in
BlinkIdCombinedRecognizerandBlinkIdRecognizer:- Documents discarded with the class filter are now reported as not supported
onDocumentSupportStatuswill be called if a documents is filtered out by theclassInfoFilter.
- For Malaysian MyKad we are now returning if a Moire pattern is present on the scanned document (detected or not detected).
- use
documentImageMoireStatusinBlinkIdRecognizer. - use
documentFrontImageMoireStatusanddocumentBackImageMoireStatusinBlinkIdCombinedRecognizer.
- use
- Documents discarded with the class filter are now reported as not supported
- We added digital signature support to
PassportRecognizer. - We updated
IdBarcodeRecognizerResultwith specific driving license info.- Use
restrictions,endorsementsandvehicleClass
- Use