juliansteenbakker/mobile_scanner
A universal Flutter barcode and QR code scanner using CameraX/ML Kit for Android, AVFoundation/Apple Vision for iOS & macOS, and ZXing for web.
何を解決するか
mobile_scanner は、Flutterプラグインとして、デバイスのカメラを使ってモバイルおよびウェブアプリにバーコードとQRコードのスキャン機能を追加できるようにします。カメラアクセス、リアルタイムフレーム処理、デコードの難しい部分を処理するため、Android、iOS、macOS、ウェブ用のプラットフォーム固有のコードを書く必要がありません。
動作方法
このプラグインは各プラットフォームでネイティブのバーコード検出ライブラリをラップしています:AndroidではMLKit、iOSおよびmacOSではAppleのVisionフレームワーク、ウェブではブラウザ内蔵のBarcodeDetector API、WebAssembly版ZXing(zxing-wasm)、またはレガシーな純JavaScript版ZXingライブラリのいずれかを選択できます。
開発者は、バーコードが認識されたときに発火する onDetect コールバックを持つ MobileScanner ウィジェットを使用します。より細かい制御が必要な場合は、MobileScannerController を使って、カメラ解像度、検出速度、検出対象のバーコード形式、トーチ(フラッシュ)、画像の反転、自動ズーム、カメラレンズ(通常、広角、ズーム)の切り替えを設定できます。また、デバイスが持つレンズを照会するヘルパー機能や、近距離スキャンに最適なレンズを選択する機能も提供しています。
対象ユーザー
QRコードやバーコードをスキャンする必要があるFlutterアプリを開発している開発者向けです。たとえば、チケット、決済、在庫管理、ロイヤルティプログラム、認証フローなどに利用できます。単体アプリではなく、即座に組み込めるパッケージです。
特徴
- クロスプラットフォーム:Android、iOS、macOS、ウェブ(LinuxおよびWindowsは非対応)。
- 複数のバーコード形式(QR、Code 128、EAN、DataMatrix、PDF417、Aztecなど)をサポートするリアルタイム検出。
- 設定可能なスキャン:スキャン領域、自動ズーム、トーチ、検出速度、形式フィルタリング。
- レンズタイプの切り替えと、近距離スキャンに最適なレンズを選択するヘルパー機能。
- ウェブ実装では、パフォーマンス/形式のトレードオフがある3つの検出バックエンドを提供。さらに、スキャンライブラリ用のカスタムCDNミラーも設定可能。
- Androidでは、バンドル済みMLKitモデル(アプリサイズが大きくなるが即時利用可能)か、Google Play Services経由でダウンロードされる非バンドルモデル(アプリサイズが小さい)のどちらかを選択可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト