barkoder_flutter 1.6.8
barkoder_flutter: ^1.6.8 copied to clipboard
Flutter support for Barkoder - a Barcode Scanner SDK for the modern enterprise.
barKoder Barcode Scanner SDK for Flutter #
Add an enterprise-grade barcode scanning engine in your Flutter app #
Integrating the barKoder Barcode Scanner SDK into your Enterprise or Consumer-facing mobile apps will instantly transform your user's smarphones and tablets into rugged barcode scanning devices without the need to procure and maintain expensive and sluggish hardware devices that have a very short life span.
barKoder is a cutting-edge data capture solution built for modern enterprise use cases — delivering AI-powered computer vision, ultra-fast recognition, and industry-leading performance even in the most challenging real-world conditions.
Why barKoder? #
barKoder is a production-ready scanning engine trusted across industries such as:
- Logistics & Supply Chain
- Manufacturing & Direct Part Marking (DPM)
- Retail & Self-Checkout
- Automotive & VIN Capture
- Identity Verification (MRZ + OCR)
Key barKoder SDK capabilities include: #
- DPM Mode - Specially designed scanning template for decoding Data Matrix barcodes engraved using any Direct Part Marking (DPM) technique;
- MatrixSight - Proprietary algorithm that can successfully scan QR Codes or Data Matrix barcodes even when they are missing their finder, timing and/or alignment patterns, even part of the data elements;
- Segment Decoding - The advanced barcode localization techniques implemented into the barKoder SDK grants an ability to recognize 1D barcodes that have significant deformations along their Z axis, getting especially handy when trying to recognize barcodes found on test tubes, bottles and other surfaces with rounded, curved, hollowed or otherwise irregular shapes;
- VIN Barcode Scanning Mode - The most advanced VIN barcode scanning mode on the market, utilizing all the special algorithms of the barKoder SDK leading to the ultimate scanning experience of any kind of barcodes used for embedding Vehicle Identification Numbers, including Code 39, Code 128, QR Code and Data Matrix;
- DeBlur Mode - Whether there's lens, motion or focus blur present in EAN or UPC barcodes, the barKoder DeBlur Mode alleviates it fully and doesn't allow the scanning experience to suffer;
- PDF417-LineSight - The robust PDF417 barcode scanner SDK that is offered by barKoder can detect even the most severely damaged PDF417 codes, including missing their start and stop patterns, stop row indicators or even entire data columns, making it the sublime choice for apps that need to reliably scan US or Canadian driver's licenses, South African vehicle license discs or driver's licenses, as well as various types of ID's such as Military, Argentinian, Colombian or South African Smart ID Cards.
- Barch MultiScan - Want to scan multiple barcodes regardless of type and density continuously? Look no further than barKoder's Batch MultiScan feature, whose result caching and location reconstruction techniques provide excellent user-experience and results.
- Continuous Scanning - barKoder’s advanced engine seamlessly captures data from multiple barcodes in real-time, enabling uninterrupted scanning workflows that boost efficiency and accuracy. Unlike traditional methods that require individual scans for each barcode, barKoder’s continuous scanning technology ensures faster data collection and processing, making it an ideal choice for high-volume scanning environments where speed and precision are critical.
- MRZ Scanning - The barKoder MRZ Scanning SDK enables fast and accurate extraction of Machine Readable Zone (MRZ) data from passports, ID cards, and travel documents. Built with advanced computer vision and OCR technology, it delivers reliable performance even in challenging conditions such as low light, glare, or motion.
- Augmented Reality Overlays - barKoder’s Augmented Reality overlays bring barcode data to life by displaying real-time, contextual information directly on top of scanned items. From inventory counts to expiration dates and custom labels, your users see what matters—instantly, visually, and interactively.
Supported Barcode Symbologies #
barKoder supports 30+ symbologies including:
1D - Codabar, Code 11, Code 25, Code 32, Code 39, Code 93, Code 128, DataBar, EAN-8, EAN-13, GS1 Composite, Interleaved 2 of 5, ITF-14, MSI Plessey, Postal Barcodes, Telepen, UPC-A & UPC-E
2D - Aztec Code, Aztec Compact, Data Matrix, PDF417, MaxiCode, Micro PDF417, DotCode, QR Code & Micro QR Code
Demo Apps #
Try barKoder in action:
iOS Demo App: https://apps.apple.com/us/app/barkoder-scanner/id6443715409
Android Demo App: https://play.google.com/store/apps/details?id=com.barkoder.demoscanner
Official Flutter Documentation #
The Flutter SDK is fully documented here:
Installation Guide
https://barkoder.com/docs/v1/flutter/flutter-installation
General Example
https://barkoder.com/docs/v1/flutter/flutter-example/general-example
Flutter API Reference
https://barkoder.com/docs/v1/flutter/flutter-api-reference
Flutter Examples
https://barkoder.com/docs/v1/flutter/flutter-example
Trial License #
If you run the barKoder Barcode Scanner SDK without a valid trial or production license, all results upon successful barcode scans will be partially masked by asterisks (*). You can get a trial license simply by registering on the barKoder Portal and utilizing the self-service for Evaluation License Generation! Each trial license will be good for an initial duration of 30 days and can be deployed to up to 25 devices. For any custom requirements, contact our sales team via sales@barkoder.com
Note that a trial license is only supposed to be utilized in a development or staging environment. IF you decide to publish a trial license along with your app to the App Store, Play Store or any public store we won't be held accountable for any potential consequences.
Free Developer Support #
Our support is completely free for integration or testing purposes and granted through the barKoder Developer Portal. After registering and logging into your account, you only need to submit a Support Issue. Alternatively, you can contact us by email via support@barkoder.com
Installation & Basic usage #
1. Prepare environment #
Install Flutter SDK and setup your environment
2. Add our flutter package #
To add the barkoder_flutter package to your project, you have two options. You can either use the barkoder_flutter package from pub.dev or from a local path.
To use the package from pub.dev, add the package name and version to your project's dependencies:
dependencies:
flutter:
sdk: flutter
barkoder_flutter: <package version>
If you prefer to use a local package, download the package from https://barkoder.com and set the package path in your project's dependencies:
dependencies:
flutter:
sdk: flutter
barkoder_flutter:
path: <package local path>
3. Install dependencies #
Run flutter pub get command in terminal to install the specified dependencies in your project
4. Import package #
Import the barkoder_flutter package in your project with:
import 'package:barkoder_flutter/barkoder_flutter.dart';
5. BarkoderView #
At this point the barkoder_flutter package is installed and imported in your project. Next step is to add the BarkoderView in your layout and set the licenseKey parameter and onBarkoderViewCreated callback.
@override
Widget build(BuildContext context) {
return Scaffold(
...,
body: BarkoderView(
licenseKey: 'KEY',
onBarkoderViewCreated: _onBarkoderViewCreated),
...
);
The license key is a string that concists of alphanumerical characters. See the Trial License Section to learn how to get a valid license.
6. Ready to Scan Event #
Inside _onBarkoderViewCreated callback function the SDK is fully initialized and ready for configuration or to start the scanning process
void _onBarkoderViewCreated(barkoder) {
_barkoder = barkoder;
_barkoder.setBarcodeTypeEnabled(BarcodeType.qr, true);
_barkoder.setRegionOfInterestVisible(true);
...
}
void _scanPressed() {
_barkoder.startScanning((result) {
// The result from successful scan is received here
});
}
For the complete usage of the barkoder_flutter plugin please check our sample.
7. Camera permissions #
Our SDK requires camera permission to be granted in order to use scanning features. For Android, the permission is set in the manifest from the plugin. For iOS you need to specify camera permission in Info.plist file inside your project
<key>NSCameraUsageDescription</key>
<string>Camera permission</string>