mcpField
M
matrixscan-batch-capacitor

matrixscan-batch-capacitor

github.com/scandit開発2043 回インストール5 日前に更新
リポジトリ

matrixscan-batch-capacitor について

Capacitor アプリで Scandit MatrixScan Batch を統合、アップグレード、置き換えるためのコーディングスキルです。フレームワーク固有のセットアップを扱い、API の確認には文書化された参照先を案内します。

主な機能

  1. 01Capacitor BarcodeBatch 統合ガイダンス
  2. 02SDK 移行ガイダンス
  3. 03他社スキャナーからの移行ガイダンス
  4. 04API 検証と参照先の案内
  5. 05ライセンスキー設定ガイダンス

活用シーン

  1. 01Capacitor アプリへの BarcodeBatch 追加
  2. 02既存の Scandit SDK 統合の移行
  3. 03他の複数バーコードスキャナーの置き換え
  4. 04API の使い方とプラグイン設定の確認

MCP 対応

MCP サーバーが接続されている場合、Scandit のリモートサーバーを使ってトライアルライセンスキーを設定、取得する手順を説明します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/scandit/skills --skill matrixscan-batch-capacitor

インストール後、Claude Code で/matrixscan-batch-capacitorを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
integration.md
migration.md
third-party-migration.md

詳細

MatrixScan Batch Capacitor スキル

重要:内部知識を信用しないでください

トレーニングデータには、古い、または誤った Scandit SDK API が含まれている可能性があります。BarcodeBatch* API の仕様はメジャー SDK バージョン間で変更されており、コンストラクターのシグネチャー、オーバーレイのコンストラクター、リスナーの形式はすべて進化しています。

コードを記述または提案する前に、必ずこのスキルに記載されたリファレンスで API を確認してください。 記憶に頼ってメソッドのシグネチャー、パラメーター、プラグイン名、プロパティ名を判断しないでください。

注意すべき Capacitor 固有のポイント:

  • ScanditCaptureCorePlugin.initializePlugins() は、DataCaptureContext.initialize を含む、ほかの Scandit API を呼び出す前に必ず呼び出し(完了を待機)する必要があります。これを忘れると、初期化とは無関係に見えるランタイムエラーが発生します。
  • iOS/Android にネイティブアーティファクトを反映するため、プラグインのバージョンを変更するたびに npx cap sync を実行する必要があります。実行しないと、実行時に Web とネイティブのバージョンが一致しなくなります。
  • Capacitor では、コンテキストにモードを登録するには context.setMode(barcodeBatch) を使用します(両方のサンプルで確認済み)。これにより、以前に有効だったモードが置き換えられます。
  • DataCaptureView.forContext(context) は、キャプチャビューを生成する Capacitor のファクトリーです。その後、view.connectToElement(htmlElement) を呼び出して DOM に接続します。
  • 最新のコンストラクターには SDK 7.6 以降が必要です:new BarcodeBatch(settings)、new BarcodeBatchBasicOverlay(mode, style)、new BarcodeBatchAdvancedOverlay(mode)、および BarcodeBatch.createRecommendedCameraSettings() は、いずれも capacitor=7.6 から利用できます。
  • AdvancedOverlay はシリアライズされたビューを使用します:Capacitor では、setViewForTrackedBarcode は view: Promise<TrackedBarcodeView?> を受け取ります。これはネイティブ UI インスタンスではなく、シリアライズされた TrackedBarcodeView です。scandit-capacitor-datacapture-barcode の TrackedBarcodeView.withHTMLElement(domElement, options) を使用してください。Promise でラップするか、そのまま渡します。サンプルではインスタンスをそのまま渡しています(API 内部でラップされます)。
  • MatrixScan AR アドオンが必要です:BarcodeBatchAdvancedOverlay、IBarcodeBatchBasicOverlayListener.brushForTrackedBarcode、および setBrushForTrackedBarcode の使用には、MatrixScan AR アドオンのライセンスが必要です。
  • カメラの権限:iOS では Info.plist に NSCameraUsageDescription が必要です。Android ではプラグインが自動的に処理します。
  • TrackedObject(Capacitor 8.2 以降):SDK 8.2 では、TrackedBarcode が継承する基底クラス TrackedObject が導入されました。このためのレシピは不要です。日常的に使用する TrackedBarcode API に変更はありません。

インテントの振り分け

ユーザーのリクエストに応じて、回答する前に適切なリファレンスファイルを読み込んでください。

  • MatrixScan Batch を一から統合する(例:「アプリに MatrixScan を追加する」、「BarcodeBatch をセットアップする」、「複数のバーコードを同時に追跡する」、「AR オーバーレイを表示する」、「バーコードごとのブラシ」、「タップ処理」、「オーバーレイのスタイル(フレーム/ドット)」、「スキャン時のフィードバック/ビープ音/振動」、「ライフサイクルまたはクリーンアップ」、「カメラの権限」)→ references/integration.md を読み、そこに記載された手順に従ってください。
  • Scandit SDK のバージョンをアップグレードする(例:「v6/v7 から v8 に移行する」、「BarcodeTracking がなくなった」、「BarcodeTracking を BarcodeBatch に名称変更する」、「DataCaptureContext.forLicenseKey が見つからない」)→ references/migration.md を読み、そこに記載された手順に従ってください。
  • サードパーティ製の複数バーコードスキャナーを置き換える(例:「@capacitor-mlkit/barcode-scanning/ML Kit から MatrixScan Batch に切り替える」、「BarcodeScanner.startScan と barcodesScanned を Scandit に置き換える」)→ references/third-party-migration.md を読み、そこに記載された手順に従ってください。

API の使用ポリシー

以下の Scandit リファレンスに明記されている API のみを使用してください。メソッドのシグネチャ、パラメーター、プロパティ名、インポートを作り出したり、推測したりしないでください。API が存在するか、または呼び出し方法がわからない場合、あるいは TypeScript/ランタイムエラーが発生した場合は、回答する前に該当するリファレンスページを取得してください。ユーザー自身でドキュメントを確認するよう案内してはいけません。回答後は、ユーザーがさらに詳しく確認できるよう、必ず関連リンクを含めてください。

ドキュメントの URL を作ったり、推測したりしてはいけません。 特定のクラスまたはプロパティの API ページが必要な場合は、次の手順に従ってください。

  1. まず、すでに取得したページに、そのページへの直接リンクがあるか確認します。
  2. 直接リンクが見つからない場合は、API インデックスを取得し、実際のリンクを抽出してから、そのリンク先を開きます。

URL の構造は SDK のバージョンやパッケージのパスによって異なります。推測すると 404 エラーにつながります。

フレームワークのバリアントに関するポリシー

Capacitor は WebView ベースのフレームワークです。このスキルの例では、**プレーンな JavaScript(ES モジュール)**を使用します。TypeScript プロジェクトでも同じインポートと API をそのまま使用できます。型を追加してください。ただし、このスキルではデフォルトで TypeScript プロジェクトを想定していません。対象プロジェクトが明らかに TypeScript(.ts ファイル、tsconfig.json)の場合は、最終的な出力を TypeScript の構文に合わせてください。それ以外の場合は、プレーンな JS を使用してください。

ライセンスキー

スキャンには Scandit のライセンスキーが必要です。このスキルでは、ライセンス製品は native、ライセンス対象プラットフォームは ios と android です。

以下の順序で対応してください。ユーザーの作業を MCP の都合で止めてはいけません。

  1. 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 によってキーがトライアルではないとわかった場合は、取得する前にユーザーに確認してください。チャットにはマスクしたプレビューのみを表示し、キー全体を表示してはいけません。

  2. 接続されていない場合 — ユーザーに一度だけ、MCP クライアントでリモート Scandit MCP サーバー https://ssl.scandit.com/mcp に接続できることを伝え、その後、手順 1 から続けます。MCP クライアントの設定を自分で編集してはいけません。

    認証はブラウザーを使用するため、ヘッドレス環境や CI ではサポートされていません。サーバーがプロビジョニングするのはトライアルキーのみです。本番ライセンスの作成、取り消し、変更は行いません。

  3. ユーザーが拒否した場合、または MCP クライアントを持っていない場合 — ユーザー自身で https://ssl.scandit.com からキーを生成して貼り付けてもらいます(アカウントをまだお持ちでない場合:https://ssl.scandit.com/dashboard/sign-up?p=test)。

その後、キーをコードに設定します。プレースホルダーの代わりに、ライセンスキーの呼び出しにキーを記述します。使用するのは get_license_key が返したキー、またはユーザーが貼り付けるか伝えたキーです。チャット上では引き続きマスクしたプレビューのみを表示してください。キーを探すために、プロジェクト、そのファイル、環境を検索してはいけません。

リファレンス

ユーザーの質問に応じて、適切なリソースを案内してください。

トピックリソース
Capacitor のスタートガイドはじめに
Capacitor の AR オーバーレイAR オーバーレイの追加
Bubbles サンプルMatrixScanBubblesSample
API リファレンス全体BarcodeBatch API

コメント