Releases: BlinkID/blinkid-flutter
v6.13.2
v7.2.0
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
MicroblinkScanner
has been renamed toBlinkidFlutter
. -
Method
scanWithCamera
has been renamed toperformScan
. -
Method
scanWithDirectApi
has 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
performScan
method 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
performDirectApiScan
method 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
BlinkIdScanningResult
object, 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
v6.13.1
v6.13.0
- Updated the plugin to Android SDK v6.13.0 and iOS SDK v6.13.0
New features
- ClassFilter
ClassFilter
represents the document filter used to determine which documents will be processed.- Document information (Country, Region, Type) is evaluated with the content set in the filter, and their inclusion or exclusion depends on the defined rules.
- The recognition results of the excluded documents will not be returned.
- If using the standard BlinkID Overlay, an alert will be displayed that the document will not be scanned.
- Modifying the
includeClasses
property will set the filter to scan only the set document classes. Other document classes will be rejected. - Modifying the
excludeClasses
property will set the filter to reject only the set document classes. Other document classes will be accepted.- By defult, all of the document classes are accepted.
Expanded document coverage
- All of the new documents & document versions can also be found in the release notes for native Android and iOS SDKs.
Bug fixes
- NY ID/DL: Added logic to expose the Enhanced document subtype, allowing customers to distinguish between regular and enhanced versions.
- Bolivia & Namibia ID: Resolved data match inconsistencies that were causing data match failures.
- Romanian ID: Multi side scan no longer expects blank back card of old IDs, even with skipUnsupportedBack set to false.
- Fixed backImageAnalysisResult.cardRotation not being correctly populated when scanning the wrong side of a document.
- [iOS-specific] Fixed document flip animation on the
BlinkIdOverlay
v6.12.0
- Updated the plugin to Android SDK v6.12.0 and iOS SDK v6.12.0
New features
- Beta Feature: Second Page Passport Scanning
- Added support for scanning and extracting data from the second page of passports for select countries - Slovenia, Ireland, and New Zealand.
- When BlinkID detects one of these passports, a UI message will guide the user to the second page.
- By default, this feature is disabled but can be enabled via the
BlinkIdMultiSideRecognizer.scanPassportDataPageOnly
setting - if set tofalse
, it will be required to scan the second page of certain passports. This feature is in beta, and your feedback is appreciated.
- USA Green Card - Enabled Data Match for the
Document Number
field, matching values from the VIZ (Visual Inspection Zone) and MRZ to further enhance extraction reliability.
Bug fixes
- Spain ID: Fixed an issue with indefinite expiry dates, ensuring consistent values between the MRZ and Visual Inspection Zone (VIZ).
- Bulgaria ID: Improved parsing for indefinite expiry dates in the MRZ for better accuracy.
- Netherlands ID & Norway Passport: Resolved issues with the
Personal ID number
field that were causing the data match feature to fail. - Chinese Passport: Enhanced reliability of extracted data with additional logic for the
Document Number
field. - German ID & Luxembourg ID: Adjusted name extraction logic to resolve issues with name separation, ensuring more consistent results.
v6.11.1
- We have updated the plugin to Android SDK v6.11.2 and iOS SDK v6.11.1
Bug fixes
- NYC Municipal ID & USA Border Crossing Card
- Resolved an issue where the scanning process could get stuck on the back side during multi-side scanning.
v6.11.0
- We have updated the plugin to Android SDK v6.11.1 and iOS SDK v6.11.0
Expanded document coverage
- All of the new documents & document versions can also be found in the release notes for native Android and iOS SDKs.
New features
- Greek Alphabet Support
- Added support for extracting
Place of Birth
in both Greek and Latin scripts.
- Added support for extracting
- New result fields in the
BlinkIdSingleSideRecognizer
andBlinkIdMultiSideRecognizer
manufacturingYear
,vehicleType
,eligibilityCategory
,specificDocumentValidity
,dependentsInfo
Bug fixes
- Android specific
- Removed unused
libc++_shared.so
from the SDK - Fix for duplicate attrs resource:
attr/mb_onboardingImageColor
when combining multiple Microblink's SDKs in the same app
- Removed unused
v6.10.0
- We have updated the plugin to Android SDK v6.10.0 and iOS SDK v6.10.1
Expanded document coverage
- All of the new documents & document versions can also be found in the release notes for native Android and iOS SDKs.
New features
- Avoiding Double Scans of the Front Side: For a more reliable scanning process, BlinkID now prompts users to flip the document when they scan the front side twice. This improves the overall experience and reduces the chance of mistakes.
- Starting with the Right Side: If users attempt to scan the back side of a document first, BlinkID will prompt them to begin with the front side. This feature ensures that users follow the correct order, leading to a more reliable and user-friendly experience.
- Added
imageExtractionFailures
toAdditionalProcessingInfo
imageExtractionFailures
allows tracking if any images are not visible on the presented document- Added
ImageExtractionType
(FullDocument
,Face
,Signature
) enum to specify the image type
- Added a new result member,
barcodeStepUsed
to BlinkID recognizers, which indicates whether the barcode scanning step was utilized during the scanning process. - Added two new settings to BlinkID recognizers:
allowBarcodeScanOnly
- allows barcode recognition to proceed even if the initial extraction fails - set tofalse
by defaultcombineFrameResults
- enables the aggregation of data from multiple frames - set totrue
by default
Other changes
- Starting from BlinkID v6.9.0, the plugin uses Gradle v8 for Android
v6.9.0
- We have updated the plugin to Android SDK v6.9.0 and iOS SDK v6.9.0
Expanded document coverage
- All of the new documents & document versions can also be seen in the release notes for native Android and iOS SDKs.
Custom mandatory fields
- We’re introducing the option to define a custom set of mandatory fields. This feature allows greater flexibility in the scanning process by enabling the extraction of only the necessary information from identity documents.
- Custom mandatory fields can be set at the document level or applied universally to all document types.
- Custom mandatory fields can be set with
CustomClassRules
andDetailedFieldType
.
License keys
- The license key error can now be properly handled (as shown in the sample application)
- The error messages are specific to each case why the license key is not valid
v6.8.0
- We have updated the plugin to Android SDK v6.8.0 and iOS SDK v6.8.0
Glare and blur detection
- We’ve introduced glare detection to BlinkID, which removes occlusion on document images caused by glare.
- We’ve raised the threshold for our blur model, making it stricter. This improvement ensures that sharper images are accepted for processing.
- To disable the glare and blur filters, modify the
enableBlurFilter
andenableGlareFilter
properties on the BlinkID recognizers (filters are enabled by default). - The strictness level can be modified to
Strict
,Normal
andRelaxed
on theglareStrictnessLevel
andblurStrictnessLevel
properties withStrictnessLevel
. - To check if glare and blur are present on the document after the scanning process has finished, see
glareDetected
andblurDetected
properties inImageAnalysisResult
.
- To disable the glare and blur filters, modify the
UI Settings
- Real-time feedback during scanning includes a new UI message to help users position the document correctly and reduce glare and blur.
- Check
errorGlareDetected
anderrorBlurDetected
in theBlinkIdOverlaySettings
.
- Check
- We have added camera presets to each platform
- Modify
AndroidCameraResolutionPreset
andiOSCameraResolutionPreset
inBlinkIdOverlaySettings
to change different to camera resolutions if necessary.
- Modify
- Camera Legacy API - Android-specific
- We have added
enableAndroidLegacyCameraApi
property. This setting should only be used if the new Camera2 API is not working on the device, and it should not be applied to all devices.
- We have added
Bug fixes
- Android-specific
- We have removed the package attribute from AndroidManifest.xml
- We have temporarily disabled haptic feedback for Android devices due to an issue with Android 5.1.