mcpField
M
matrixscan-count-capacitor

matrixscan-count-capacitor

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

matrixscan-count-capacitor について

Capacitor アプリで MatrixScan Count を導入し、BarcodeCount API を更新するためのコーディングスキルです。バージョンの確認と Capacitor 固有の設定要件を重視します。

主な機能

  1. 01MatrixScan Count の導入ガイド
  2. 02BarcodeCount API の移行案内
  3. 03Capacitor 初期化と DOM ビューの注意点
  4. 04SDK バージョンとプラットフォーム要件
  5. 05Scandit ライセンス設定の案内

活用シーン

  1. 01Capacitor アプリへのバーコードカウント追加
  2. 02BarcodeCount コンストラクターの更新
  3. 03リストに基づくバーコード照合の実装

MCP 対応

Scandit MCP サーバーを使ったスキャナーライセンス設定を説明します。このスキル自体は MCP サーバーを提供しません。

インストール

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

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

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

同梱ファイルreferences/integration.mdreferences/migration.md

詳細

MatrixScan Count Capacitor スキル

重要:内部知識を鵜呑みにしないでください

学習データには、古い Scandit SDK API や誤った情報が含まれている可能性があります。BarcodeCount API はバージョン間で大幅に変更されており、コンストラクターのシグネチャ、ビューのファクトリーメソッド、機能の提供状況は SDK のバージョンによって異なります。プロパティ、メソッド名、プラグインのパターンは、他のプラットフォームや一般知識とは異なる場合があります。

コードを記述または提案する前に、必ずこのスキルに記載されたリファレンスで API を確認してください。 記憶したメソッドのシグネチャ、パラメーター、プラグイン名、プロパティ名に頼らないでください。提供されたリファレンスに API が見つからない場合は、回答する前に関連するドキュメントページを取得してください。

特に注意が必要な Capacitor 固有のポイント:

  • ScanditCaptureCorePlugin.initializePlugins() は、DataCaptureContext の構築を含む、他の Scandit API を使用する前に必ず呼び出し、完了を待つ必要があります。これを忘れると、初期化とは無関係に見える実行時エラーが発生します。
  • iOS/Android にネイティブの成果物を反映するため、プラグインのバージョンを変更するたびに npx cap sync を実行する必要があります。実行しないと、実行時に Web/ネイティブ間のバージョン不一致が発生します。
  • BarcodeCountView には DOM 要素が必要です。 BarcodeCountView.connectToElement(htmlElement) は、DOM 要素のサイズと位置をビューに反映します。クリーンアップ時に detachFromElement() を呼び出してください。
  • BarcodeCount は iOS と Android でのみ動作します。 ブラウザーでは動作しません。アプリが Web も対象とする場合は、Capacitor.isNativePlatform() で実行環境を判定してください。
  • 最小 SDK バージョン:
    • Capacitor での BarcodeCount:6.18
    • new BarcodeCount(settings) コンストラクター(context なし):7.6。7.6 より前では、BarcodeCount.forDataCaptureContext(context, settings) を使用してください。
    • オブジェクトリテラル new BarcodeCountView({context, barcodeCount, style}) を使って構築する BarcodeCountView:サンプルで動作が確認されています。静的ファクトリーの BarcodeCountView.forContextWithMode(context, barcodeCount) と BarcodeCountView.forContextWithModeAndStyle(context, barcodeCount, style) もドキュメントに記載されています。
    • リスト外アクションの設定(BarcodeNotInListActionSettings):7.1
    • ステータスモード(setStatusProvider、shouldShowStatusModeButton、shouldShowStatusIconsOnScan):8.3
    • マッピングフロー(BarcodeCountMappingFlowSettings、BarcodeCountView.forMapping):8.3
  • プラグインパッケージ:npm レジストリの @scandit/datacapture-barcode と @scandit/datacapture-core、または使用するパッケージレジストリに応じた scandit-capacitor-datacapture-barcode と scandit-capacitor-datacapture-core。ユーザーの既存の package.json にある import を確認し、それに合わせてください。
  • カメラの権限:iOS では Info.plist の NSCameraUsageDescription を設定します。Android ではプラグインが自動的に処理します。
  • BarcodeCount.recommendedCameraSettings(静的ゲッター)は、推奨カメラ設定を返します。Capacitor 7.6 以降では、BarcodeCount.createRecommendedCameraSettings()(静的メソッド)も利用できます。サンプルではゲッター形式を使用しています。
  • BarcodeCountView を作成した後にスキャンを開始するには、barcodeCount.isEnabled = true を設定する必要があります。

インテントの振り分け

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

  • MatrixScan Count を最初から統合する場合(例:「アプリに MatrixScan Count を追加したい」、「BarcodeCount を設定する」、「Capacitor で BarcodeCountView を使うには」、「バーコードをカウントするには」、「リストと照合してスキャンする」、「梱包明細書を照合する」、「入荷ワークフロー」)→ references/integration.md を読み、その指示に従ってください。

  • 古い BarcodeCount API から移行する場合、または新しい機能を追加する場合(例:「BarcodeCount コンストラクターをアップグレードする」、「forDataCaptureContext から移行する」、「ステータスモードを追加する」、「マッピングフローを追加する」、「リスト外アクションを追加する」)→ references/migration.md を読み、移行手順に従ってください。

API の使用ポリシー

以下の Scandit リファレンスに明示的に記載されている API のみを使用してください。メソッドのシグネチャ、パラメーター、プロパティ名、インポートを捏造したり、推測したりしないでください。API が存在するか、どのように呼び出すのか不明な場合、または TypeScript/ランタイムエラーが発生した場合は、回答する前に該当するリファレンスページを取得してください。ユーザーに自分でドキュメントを確認するよう伝えないでください。回答後は、ユーザーがさらに調べられるよう、必ず関連リンクを記載してください。

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

  1. まず、すでに取得したページ(Get Started ページなど)に、そのページへの直接リンクがあるか確認します。トピックページには、関連する API シンボルへの直接リンクがあります。
  2. 直接リンクが見つからない場合は、API インデックスを取得し(下の表の Full API reference を参照)、そこから実際のリンクを抽出してアクセスします。

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

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

ライセンスキー

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

以下の手順を順に進めてください。MCP の接続を理由にユーザーを待たせないでください。

  1. Scandit MCP サーバーが接続されている場合 — 製品に native、プラットフォームに ios と android を指定して ensure_scanner_setup を呼び出し、次に get_license_env_command が返すコマンドを実行して、キーをプロジェクトの .env に書き込みます。チャットではマスクされたプレビューのみを表示し、キー全体を決して出力しないでください。

  2. 接続されていない場合 — 一度だけ接続を提案し、その後、手順 1 から続けます。

    • Claude Code:claude mcp add --transport http scandit https://ssl.scandit.com/mcp
    • Cursor:{"mcpServers": {"scandit": {"url": "https://ssl.scandit.com/mcp"}}} を ~/.cursor/mcp.json に追加します
    • VS Code:{"servers": {"scandit": {"type": "http", "url": "https://ssl.scandit.com/mcp"}}} を MCP ユーザー設定に追加します

    認証はブラウザー経由のため、ヘッドレス環境や CI ではサポートされていません。サーバーが提供するのはトライアルキーのみです。本番ライセンスの作成、取り消し、変更は行いません。

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

次に、プレースホルダーの代わりにキーをコードに設定してください。キーを .env に入れただけでは、アプリには渡りません。Vite の import.meta.env など、ウェブバンドラーの環境変数サポートを使って読み取ってください(envPrefix で変更しない限り、VITE_ で始まる名前のみ公開されます)。どのプラットフォームでも最も簡単な方法は、.env を読み取り、ライセンスキーを指定する呼び出しに直接キーを設定することです。その場合も、チャットではマスクされたプレビューのみを表示してください。

リファレンス

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

トピックリソース
Capacitor との統合はじめに · サンプル
API リファレンス全体BarcodeCount API

コメント