Last updated:
0 purchases
ml card scanner
ml_ card_scanner #
The ml_card_scanner plugin allows you to scan bank cards.
Features #
Can scan expiration date, card type and card number
Work with horizontal and vertical cards
Powered by Google's Machine Learning models
Great performance and accuracy
Fully offline scan makes it a completely secure scanner.
Warning: This package does not guarantee 100%
accurate scanning of card details,
so always give users the opportunity
to check and modify the data before using it.
copied to clipboard
Prepare #
###Android
Add these to android/grade.properties file:
android.useAndroidX=true
android.enableJetifier=true
copied to clipboard
In android/app/build.gradle file:
android {
compileSdkVersion 31 // Set this to at least 31
minSdkVersion 21 // at least 21
...
}
copied to clipboard
Add the permission to android/app/src/main/AndroidManifest.xml file
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<uses-permission android:name="android.permission.CAMERA"/>
...
</manifest>
copied to clipboard
###iOS
Add to ios/Runner/Info.plist file:
<key>NSCameraUsageDescription</key>
<string>Your Description</string>
copied to clipboard
Add this lines to the top of your Podfile:
# Uncomment this line to define a global platform for your project
platform :ios, '10.0'
copied to clipboard
And add the following to end of your Podfile file:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
... # Here are some configurations automatically generated by flutter
# You can enable the permissions needed here. For example to enable camera
# permission, just remove the `#` character in front so it looks like this:
#
# ## dart: PermissionGroup.camera
# 'PERMISSION_CAMERA=1'
#
# Preprocessor definitions can be found in: https://github.com/Baseflow/flutter-permission-handler/blob/master/permission_handler/ios/Classes/PermissionHandlerEnums.h
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
## dart: PermissionGroup.camera
'PERMISSION_CAMERA=1',
]
end
end
end
copied to clipboard
Usage #
Just import the package and call ml_card_scanner an use ScannerWidget in your code:
ScannerWidget(controller: _controller)
copied to clipboard
Also ScannerWidget have another parameter you can specify:
overlayBuilder - set your overlay widget or specify null to use the default;
overlayTextBuilder - set your widget or specify null to use the default;
cameraPreviewBuilder - set your widget constraints for CameraPreview or specify null to use the default;
scannerDelay - set the scan delay or not set to use the default 400 (interval between card scannings in millisecconds);
oneShotScanning - set to false - the scan will run continuously, true -scaninng will stop after card detected;
overlayOrientation - set the default overlay orientation, by default portrait;
cameraResolution - resolution preset for camera, by default high;
controller - ScannerWidgetController widget controller to get scanned card details or error;
cardScanTries - how many recognition varians to collect before provide scanning result;
See example/lib/ml_card_scanner.dart for implementation.
For ScannerWidgetController have functionality:
enable or disable scanning;
enable or disable camera preview;
set onCardScanned callback;
set onError callback;
Example Output :
Number card: 5173949390587465
Type: Master Card
Expiry: 10/24
copied to clipboard
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.