Flutter library for scanning insurance cards.
Features
Adds a widget which scans insurance cards using the device's camera.
Getting started
Android camera permissions
Add the following line to your AndroidManifest.xml file:
<key>NSCameraUsageDescription</key>
<string>To scan cards please grant camera access</string>
iOS camera permissions
Add the following lines to your Info.plist file:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIDEO_CAPTURE" />
Usage
CardScanner
Use it on your custom screens like any other widget:
import 'package:insurance_card_scanner/insurance_card_scanner.dart';
class ScannerWidgetScreen extends StatelessWidget {
const ScannerWidgetScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Scanner widget'),
),
body: CardScanner(
sessionToken: 'pass your token here',
onSuccess: (card) {
print('Scan success');
},
onCardScanError: (message) {
print(message ?? 'Scan error');
},
onWebViewLoadError: () {
print('WebView load error');
},
onCardScanCancel: () {
Navigator.of(context).pop();
},
),
);
}
}
CardScannerModal
Push it using Navigator to open a full-screen scanner.
Navigator.of(context).push(
CardScanModal(
sessionToken: 'pass your token here',
onSuccess: (card) {
print('Scan success');
},
onCardScanError: (message) {
print(message ?? 'Scan error');
},
onWebViewLoadError: () {
print('WebView load error');
},
onCardScanCancel: () {
Navigator.of(context).pop();
},
),
);
Libraries
- models/card_mapper
- models/card_response_model
- models/card_scan_config
- models/card_scan_messages
- models/card_scan_state
- widgets/card_scanner
- widgets/card_scanner_modal
- utils/color_extensions
- insurance_card_scanner
- utils/js_injection
- utils/logger
- models/models
- models/scanned_card
- widgets/scanner_web_view