matrixscan-batch-rn について
React Native 開発者向けの Scandit MatrixScan Batch 統合スキルです。複数バーコードの捕捉、オーバーレイ、移行を扱い、参照資料で API を確認するよう案内します。
主な機能
- 01MatrixScan Batch の統合ガイド
- 02複数バーコード捕捉の設定
- 03オーバーレイと個別スタイルの案内
- 04他社スキャナーからの移行案内
- 05ライセンスキー設定の手順
活用シーン
- 01React Native アプリで複数バーコードを追跡
- 02捕捉したバーコードへのオーバーレイ追加
- 03他社の一括スキャン機能からの移行
MCP 対応
Scandit MCP サーバーで iOS と Android のスキャンを設定し、トライアルライセンスキーを取得する方法を案内します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ scandit/ skills --skill matrixscan-batch-rnインストール後、Claude Code で/matrixscan-batch-rnを入力して読み込まれたか確認します。
同梱ファイルreferences/integration.mdreferences/third-party-migration.md
詳細
MatrixScan Batch React Native スキル
重要:内部知識を信用しないでください
学習データに含まれる Scandit SDK API は、古くなっていたり、正しくなかったりする可能性があります。BarcodeBatch* API の仕様は、主要な SDK バージョン間で変更されます。コンストラクターのシグネチャ、オーバーレイのコンストラクター、リスナーの形式は、いずれも変化してきました。
コードを記述したり提案したりする前に、必ずこのスキルで提供されているリファレンスを参照して API を確認してください。 記憶しているメソッドのシグネチャ、パラメーター、プラグイン名、プロパティ名に頼らないでください。
React Native 固有の注意点:
DataCaptureContext.initialize(licenseKey)は、他の Scandit API を呼び出す前に必ず一度だけ呼び出す必要があります。これによりDataCaptureContext.sharedInstanceが設定されます。複数のコンテキストを作成しないでください。dataCaptureContext.setMode(barcodeBatch)は、コンテキストにモードを登録するためのメソッドです(すべての RN サンプルで確認済み)。現在有効なモードが置き換えられます。dataCaptureContext.removeMode(barcodeBatch)はクリーンアップ時に呼び出します。useEffectのクリーンアップ関数で使用してください。new BarcodeBatch(settings)、new BarcodeBatchBasicOverlay(mode, style)、new BarcodeBatchAdvancedOverlay(mode)の各コンストラクター(コンテキスト引数なし)は、react-native=7.6 から利用できます。BarcodeBatch.createRecommendedCameraSettings()は、react-native=7.6 から利用できます。- オーバーレイは、
DataCaptureViewのrefコールバック内でview.addOverlay(overlay)を呼び出し、DataCaptureViewに追加する必要があります。 - iOS では、Scandit パッケージをインストールまたはアップグレードするたびに、
npx [email protected](またはcd ios && pod install)を実行する必要があります。Android では Gradle によって自動的にリンクされます。 - Metro のバンドラーキャッシュが、Scandit パッケージのアップグレードを反映しないことがよくあります。プラグインのバージョンを上げた後も再ビルド時の動作が古い場合は、Metro を
--reset-cache付きで起動してください。 - iOS(
ios/<App>/Info.plistのNSCameraUsageDescription)と Android(PermissionsAndroidによる実行時の許可要求)の両方で、カメラの使用許可が必要です。 - 新アーキテクチャに関する注意(react-native ≥ 0.79、iOS):新しい React Native アーキテクチャ(Fabric / TurboModules)を使用する場合、
BarcodeBatchAdvancedOverlayの利用時には、iOS アプリのAppDelegateでScanditReactNativeFactoryContainerプロトコル(core モジュールで利用可能)を実装する必要があります。詳細は integration.md を参照してください。 - MatrixScan AR アドオンが必要です:
BarcodeBatchAdvancedOverlay、BarcodeBatchBasicOverlayListener.brushForTrackedBarcode、BarcodeBatchBasicOverlay.setBrushForTrackedBarcodeの利用には、MatrixScan AR アドオンのライセンスが必要です。
インテントの振り分け
ユーザーのリクエストに基づき、回答する前に適切なリファレンスファイルを読み込んでください。
- MatrixScan Batch を一から統合する(例:「アプリに MatrixScan を追加する」「BarcodeBatch を設定する」「複数のバーコードを同時に追跡する」「追跡対象のバーコードデータ/識別子/位置を読み取る」「ハイライトや AR ビューのタップを処理する」「新しいバーコードを検出したときにフィードバック/ビープ音を鳴らす」「AR オーバーレイを表示する」「バーコードごとにブラシを設定する」「ライフサイクルやクリーンアップ」「カメラの使用許可」)→ references/integration.md を読み、そこに記載された手順に従ってください。
- サードパーティー製のマルチバーコードスキャナーを MatrixScan Batch に置き換える(例:「react-native-vision-camera の useCodeScanner を MatrixScan Batch に置き換える」「VisionCamera による複数バーコードのスキャンから Scandit に移行する」「RNCamera/ML Kit のバッチスキャンから BarcodeBatch に切り替える」)→ references/third-party-migration.md を読み、そこに記載された手順に従ってください。
API の使用ポリシー
以下の Scandit リファレンスに明示的に記載されている API のみを使用してください。メソッドのシグネチャ、パラメーター、プロパティ名、インポートを創作したり、推測したりしないでください。API が存在するか、呼び出し方が不明な場合は、回答する前に該当するリファレンスページを取得してください。ユーザーに自分でドキュメントを確認するよう案内しないでください。回答後は、ユーザーが詳細を確認できるよう、必ず関連リンクを含めてください。
ドキュメントの URL を作成したり、推測したりしないでください。 特定のクラスやプロパティの API ページが必要な場合は、次の手順に従ってください。
- まず、すでに取得したページにそのページへの直接リンクがないか確認します。
- 直接リンクが見つからない場合は、API インデックスを取得し、そこから実際のリンクを抽出してアクセスします。
URL の構成は SDK のバージョンやパッケージパスによって異なるため、推測すると 404 エラーになります。
フレームワークのバリエーションに関するポリシー
React Native アプリは、クラスコンポーネントまたは関数コンポーネントで記述できます。このスキルの例では、現在の React Native の慣例に合った フックを使う関数コンポーネントを使用します。新しい BarcodeBatch 統合コードは関数コンポーネントで記述し、useRef、useEffect、useCallbackを使用してください。
例は TypeScript(.tsx)です。対象のプロジェクトがプレーンな JavaScript(.js / .jsx)の場合は、型注釈を取り除き、同じインポートと構成を維持してください。
ライセンスキー
スキャンには Scandit ライセンスキーが必要です。このスキルでは、ライセンス製品はnative、ライセンスのプラットフォームはiosとandroidです。
以下の手順を順番に進め、MCP を理由にユーザーの作業を止めないでください。
-
Scandit MCP サーバーが接続されている場合 — 製品に
native、プラットフォームにiosとandroid、app_identifier(アプリのバンドル ID またはアプリケーション ID。Web の場合は本番ドメインであり、localhostは不可)、環境変数にSCANDIT_LICENSE_KEYを指定して、ensure_scanner_setupを呼び出します。返されたコマンドは実行しないでください。次に、その結果またはlist_license_keysから取得したキーの ID を使ってget_license_keyを呼び出します。list_license_keysでキーがトライアルではないと分かった場合は、取得する前にユーザーに確認してください。チャットではマスクしたプレビューのみを表示し、キー全体を決して出力しないでください。 -
接続されていない場合 — MCP クライアントでリモート Scandit MCP サーバー
https://ssl.scandit.com/mcpに接続できることを一度だけユーザーに伝え、その後、手順 1 に進みます。MCP クライアントの設定は自分で編集しないでください。認証はブラウザーを使用するため、ヘッドレス環境や CI ではサポートされていません。サーバーが発行するのはトライアルキーのみです。本番ライセンスの作成、取り消し、変更は行いません。
-
ユーザーが断った場合、または MCP クライアントがない場合 — https://ssl.scandit.com で自分でキーを生成してもらいます(アカウントをまだお持ちでない場合は、https://ssl.scandit.com/dashboard/sign-up?p=test から登録できます)。生成したキーを貼り付けてもらいます。
次に、キーをコードに設定します。プレースホルダーの代わりに、ライセンスキーを渡す呼び出しへキーを記述してください。キーには、get_license_keyが返したもの、またはユーザーが貼り付けたものや伝えたものを使用します。チャットでは引き続きマスクしたプレビューのみを表示してください。キーを探すためにプロジェクト、ファイル、環境を検索しないでください。
リファレンス
質問に応じて、ユーザーを適切なリソースに案内してください。
| トピック | リソース |
|---|---|
| React Native のスタートガイド | Get Started |
| React Native の AR オーバーレイ | Adding AR Overlays |
| API リファレンス全文 | BarcodeBatch API |