考慮事項と制限

BarcodeScanner API を使用する機能を開発するときは、次の点に留意してください。

  • BarcodeScanner では、モバイルデバイスのカメラを使用する必要があります。ユーザはアプリケーションにカメラへのアクセスを許可する必要があります。実際のユーザエクスペリエンスは、プラットフォームに左右されます。要求は、初回使用時に自動的に行われ、デバイス自体で管理されますが、アプリケーションのユーザエクスペリエンスを設計するときに計画しておく必要があります。

  • Android 11 以降では、アプリケーションがデバイスにインストールされている間、ユーザが連絡先アプリケーションへのアクセス権限の [拒否] を複数回タップすると、システム権限ダイアログが再度表示されることはありません。[拒否] の複数回タップにより、[次回からは確認しない] オプションが暗黙的に選択されます。

    以前のバージョンの Android では、ユーザが以前に [次回からは確認しない] を選択していない場合、アプリケーションで権限が要求されるたびにシステム権限ダイアログが表示されていました。Android 11 でのこの変更により、ユーザが拒否することを選択した権限の繰り返しの要求が回避されます。

    ユーザが連絡先アプリケーションへのアクセス権限を拒否しており、アクセスを許可するための権限を変更する必要がある場合は、デバイスの設定で変更できます。

  • BarcodeScanner は、スキャン自体を実装しません。代わりに、基礎プラットフォーム (Android または iOS) のスキャン機能を使用できるようにします。BarcodeScanner によって提供される機能はどちらのプラットフォームでも同じですが、プラットフォーム固有の動作やわずかな違いによる影響を受けます

    • BarcodeScanner では自動的に「メイン」カメラが使用されます。デバイスに複数のカメラが用意されていても、別のカメラを選択する方法はありません。
    • バーコードの鮮明な写真を撮ることができないと、認識できないか可能性があります。デバイスのカメラの品質はバーコードの認識に影響します。カメラのレンズやフォーカスシステムが壊れていたり、品質が低かったり、ライティング、モーションおよびその他の要素が不十分だと、バーコードの鮮明な写真を撮ることが難しい、また撮ることができない可能性があります。
    • バーコードの品質はバーコードの認識に影響します。特に、バーコードが破損していたり、ぼやけていたりすると、正常に認識することが難しくなります。
  • BarcodeScanner でバーコードを認識するときに問題が生じた場合は、次の作業を行ってください。

    • まず、バーコード種別がサポートされているバーコードシンボルのいずれかであることを確認します。サポートされていない他のバーコード種別があります。
    • 2 番目に、想定されるシンボルを認識するように BarcodeScanner が設定されていることを確認します。設定の詳細は、「BarcodeScanner データ型」BarcodeScannerOptions を参照してください。
    • 最後に、同じデバイスの別のアプリケーションでバーコードを認識できるかどうかを確認します。デバイスの標準のカメラアプリケーションでバーコードを認識できない場合、BarcodeScanner でも認識できません。
  • BarcodeScanner には、カメラのハードウェアへのアクセス権が必要です。開発時にスキャンをテストするには、実際の物理デバイスを使用します。
    • Android エミュレータは、開発システムの Web カメラを使用して、カメラのハードウェアをシミュレーションできます。これを行うには、詳細設定パネルで Android 仮想デバイスのカメラ設定を編集します。ただし、大部分のラップトップに組み込まれているカメラは、最新の携帯電話のカメラよりも大幅に品質が落ちます。品質の低いカメラでは、バーコードの認識テストの有用性が限定的になります。
    • iOS シミュレータでは、シミュレーションされたカメラのハードウェアにアクセスできません。もちろん、デスクトップまたはラップトップの開発環境でコンポーネントのユーザエクスペリエンスを開発することはできます。Lightning アプリケーションをリリースする物理デバイスでスキャン機能をテストしてください。

Lightning アプリケーションで BarcodeScanner を使用するときは、次の考慮事項に注意してください。

  • BarcodeScanner は、モバイルオペレーティングシステム機能上に構築されています。そのため、BarcodeScanner のスキャン機能は Android または iOS の機能を使用しており、Salesforce による管理の範囲外で変更される可能性があります。モバイルオペレーティングシステム機能が変更された場合、BarcodeScanner の動作が通知なく変更されることがあります。
  • BarcodeScanner を使用する Lightning コンポーネント自体にカスタムユーザインターフェースを含めることができます。ただし、モバイル OS スキャンユーザインターフェースはカスタマイズできません。
  • BarcodeScanner では、iOS デバイス上でスキャンが成功すると触覚フィードバック (短い振動) が提供されます。Android デバイスでは触覚フィードバックはサポートされていません。