BarcodeScanner のスキャンライフサイクルについて
BarcodeScanner には 4 つの異なるスキャンモードがあり、それぞれが異なる使用事例に適しています。
各スキャンサイクルは次のとおりです。
- 単一スキャン
- 連続スキャン
- 一括スキャン
- 複数スキャン
単一スキャンモードは、1 つのバーコードをスキャンし、その後すぐにバーコードデータを処理します。
単一スキャンが適しているのは、バーコードがスキャンされたすぐ後にユーザ操作が必要な使用事例です。たとえば、アプリケーションでユーザの身元を確認する場合、実装方法の 1 つとして、バーコードのスキャンを開始し、その直後にユーザにセキュリティの質問へ回答するように求めて、その後に次のユーザのバーコードのスキャンを可能にする方法が考えられます。
連続スキャンモードでは、複数のバーコードを次々にスキャンし、スキャン後にそれぞれのバーコードを処理します。
連続スキャンは、一度に 1 つのバーコードしかスキャンする必要がなく、それぞれのスキャン後に処理を行う必要がある場合に適しています。たとえば、倉庫の在庫管理に関連するアプリケーションの場合、実装方法の 1 つとして、従業員が一度に多くの商品をスキャンし、在庫システムをリアルタイムで更新して、在庫が少なくなった場合に在庫マネージャに特定の商品を再注文するよう求めるという方法が考えられます。
デフォルトの連続スキャンモード (前のセクションで説明) は、一度に 1 つのバーコードを次々とスキャンし、各バーコードをスキャンごとに処理していくような使用事例に適しています。では、複数のバーコードをスキャンしてから処理する場合にはどうすればいいでしょうか。また大量のスキャンを同時に行う場合はどうでしょうか。それでは、一括スキャンと複数スキャンに進みます。
一括スキャンと複数スキャンは、それぞれ BarcodeScannerOptions
オブジェクトの Boolean パラメータ (enableBulkScan
および enableMultiScan
) で表されます。これらの値は、true
に設定されているときに有効になります。
一括スキャンモードは、複数のバーコードを次々にスキャンし、スキャン完了後に一括で処理するモードです。
一括スキャンは、複数のバーコードを 1 つのセッションでスキャンし、すべてのアイテムをスキャンした後に、一括で最後に処理する場合に適しています。たとえば、アプリケーションが図書館で資料を貸し出するために使用される場合、実装方法の 1 つとして、司書が一度に多くの本をスキャンする方法が考えられます。貸出用にすべての本をスキャンした後、システムによってすべての本が一度に処理されます。それらの本は貸出の利用者に割り当てられ、返却されるまで他の利用者が貸出できないようにマークされます。
複数モードは、複数のバーコードを同時にスキャンし、スキャン完了後に一括で処理するモードです。
複数のバーコードを一度にスキャンする使用事例の場合は、複数スキャンが最適です。たとえば、アプリケーションを製造業の品質管理で使用する場合、実装方法の 1 つとして、製造工程の異なる段階で、各製品に複数のバーコードを貼り付ける方法が考えられます。これらすべてのバーコードを同時にスキャンすることで、効率的な品質チェックが可能になり、製品ごとに販売や出荷の準備ができていることを確認できます。
技術的な観点では、4 つの異なるスキャンモードは存在せず、実際には 2 つのモードになります。
前のセクションで 4 つのモードを定義したのは、ユーザの立場からすれば、それらの 4 種類のスキャンから、使用事例に応じて選択する必要があるためです。ただし、LWC コードからスキャンサイクルを制御する場合、単一スキャンは連続スキャンの特殊な使用方法に過ぎません。また、一括スキャンと複数スキャンではユーザの操作は異なりますが、記述するスキャンコードはほとんど同じです。したがって、単一スキャンと連続スキャンが一方の基本的なライフサイクルを表し、一括スキャンと複数スキャンがもう一方を表します。
これら 2 種類のスキャンライフサイクルの主な違いは、バーコードデータの処理がいつ行われるかにあります。単一スキャンと連続スキャンの場合、処理は各スキャンの直後に実行され、一括スキャンと複数スキャンの場合は、ユーザが手動でスキャンサイクルを終了した後に実行されます。使用するコードでは、バーコードデータを実際に処理するので、アプリケーションに最適なスキャン動作を選択してください。