mcpField
M
matrixscan-count-cordova

matrixscan-count-cordova

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

matrixscan-count-cordova について

Scandit MatrixScan Count を Cordova に統合する開発者向けのスキルで、BarcodeCount の設定、ビュー接続、移行を案内します。Cordova の実行時要件を扱い、Web プラットフォームには対応しないことも示しています。

主な機能

  1. 01BarcodeCount の統合ガイド
  2. 02カウントビューと DOM 接続の手順
  3. 03バーコードの絞り込みとリスト設定資料
  4. 04移行ガイド

活用シーン

  1. 01Cordova アプリへの商品カウントスキャン追加
  2. 02バーコードフィルターや追加リストの設定
  3. 03旧形式の BarcodeCount コンストラクターからの移行

MCP 対応

Scandit MCP サーバーでスキャン用ライセンスキーを設定し、プロジェクトの .env ファイルに書き込む手順が記載されています。

インストール

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

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

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

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

詳細

MatrixScan Count Cordova スキル

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

学習データには、古い Scandit SDK API や誤った API が含まれている可能性があります。BarcodeCount Cordova API は、SDK のバージョンを重ねるごとに大きく進化しています。主な変更点は次のとおりです。

  • Cordova 6.24:BarcodeCount が Cordova で初めて利用可能になりました。
  • Cordova 7.6:コンテキストを必要としないコンストラクター new Scandit.BarcodeCount(settings) が導入されました。コンテキストへの接続には、現在は context.addMode(barcodeCount) を使用します。
  • Cordova 7.1:BarcodeCountNotInListActionSettings が利用可能になりました。
  • Cordova 8.3:BarcodeCountStatusProvider、shouldShowStatusModeButton、textForBarcodesNotInListDetectedHint、textForClusteringGestureHint、textForScreenCleanedUpHint、disableModeWhenCaptureListCompleted、ClusteringMode が利用可能になりました。
  • フィルタリング/一意性/追加バーコード/リセット:BarcodeCountSettings.filterSettings(BarcodeFilterSettings — excludedSymbologies、excludedCodesRegex)、expectsOnlyUniqueBarcodes、setAdditionalBarcodes/clearAdditionalBarcodes、reset() は Cordova で利用できます。

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

出典に関する注記:公開されている Cordova MatrixScan Count サンプルはありません。統合リファレンスは、内部の DebugApp(frameworks/cordova/debugapp/src/pages/BarcodeCount.tsx および frameworks/cordova/debugapp/src/hooks/modes/useBarcodeCount.ts)と Cordova プラグインのソース(frameworks/cordova/scandit-cordova-datacapture-barcode/www/ts/src/BarcodeCountView.ts)に基づいています。

Cordova 固有の注意点

  • グローバル名前空間:Scandit SDK は window.Scandit で公開されています。実行時には Scandit.BarcodeCount、Scandit.BarcodeCountView などを使用してください。npm パッケージ(scandit-cordova-datacapture-*)はプラグインマニフェストであり、ES モジュールではありません。WebView で実行するユーザーコードに import { ... } from 'scandit-cordova-datacapture-*' を記述しないでください。コンパイル時に型をインポートできるのは、Webpack/バンドラーを使用する TypeScript プロジェクトだけです。
  • deviceready による制御:すべての Scandit API は、document.addEventListener('deviceready', ...) の後に呼び出す必要があります。モジュールの読み込み時には絶対に呼び出さないでください。
  • プラグインのインストール:両方のプラグインが必要です。
    cordova plugin add scandit-cordova-datacapture-core
    cordova plugin add scandit-cordova-datacapture-barcode
    
    プラグインを変更した後は、cordova prepare を実行してください。
  • Web プラットフォームは非対応:Cordova の BarcodeCount を使用するには iOS または Android が必要です。Web プラットフォームはサポートされていません。
  • BarcodeCountView は DOM オーバーレイ方式です:ネイティブビューのサイズと位置は、HTML 要素に合わせて設定されます。アタッチ API(プラグインのソースで確認済み)は次のとおりです。
    • barcodeCountView.connectToElement(htmlElement) — 同期処理のため、await は不要です(内部では非同期ですが、公開シグネチャは void です)。
    • barcodeCountView.detachFromElement() — 同期処理で、戻り値は void です。終了処理中に呼び出してください。
    • barcodeCountView.setFrame(rect, isUnderContent) — Rect を使用して手動で配置します。戻り値は Promise<void> です。connectToElement を使用しない場合に限り使用してください。
    • barcodeCountView.show()/barcodeCountView.hide() — 戻り値は Promise<void> です。setFrame と併用する場合に限り使用してください。要素がアタッチされている場合は例外が発生します。
  • コンストラクターのパターン(≥7.6):new Scandit.BarcodeCount(settings) の後に context.addMode(barcodeCount) を呼び出します。以前の BarcodeCount.forDataCaptureContext(context, settings) はコンテキストへの接続を自動的に行っていましたが、新しいコンストラクターは行いません。
  • カメラ:Scandit.BarcodeCount.createRecommendedCameraSettings()(Cordova ≥7.6)を使用してください。Scandit.Camera.withSettings(cameraSettings) でカメラを取得し、context.setFrameSource(camera) で設定してから、camera.switchToDesiredState(Scandit.FrameSourceState.On/Off) で切り替えます。
  • ライセンスのプレースホルダー:必ず正確な文字列 '-- ENTER YOUR SCANDIT LICENSE KEY HERE --' を使用してください。

意図のルーティング

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

  • MatrixScan Count をゼロから統合する(例:「アプリに MatrixScan Count を追加したい」、「Cordova で BarcodeCount をセットアップしたい」、「アイテムのリストをスキャンする方法」、「カウントビューの表示方法」、「ツールバーやヒントのカスタマイズ方法」、「タップしてカウントを取り消す方法」、「ステータスモードを有効にする方法」)→ references/integration.md を読み、そこに記載された手順に従ってください。

  • 以前の BarcodeCount コンストラクターパターンから移行する(例:「BarcodeCount.forDataCaptureContext から移行したい」、「新しいコンストラクターに更新したい」、「ステータスモードを採用したい」、「既存のコードにリスト外アクションの設定を追加したい」)→ references/migration.md を読み、そこに記載された移行ガイドに従ってください。

API の使用ポリシー

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

ドキュメントの URL を作成したり、推測したりしてはいけません。 特定のクラスやプロパティの API ページが必要な場合:

  1. まず、取得済みのページにそのページへの直接リンクがあるか確認します。
  2. 直接リンクが見つからない場合は、API インデックスを取得し、実際のリンクを見つけてからアクセスします。

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

Cordova は WebView ベースのフレームワークです。このスキルの例では、(オプションで JSDoc の型ヒントを付けた)プレーン JavaScript を使用します。同じ API は TypeScript でも動作します。global.d.ts 宣言ファイルを追加し、TypeScript の構文で記述してください。このスキルでは、デフォルトで 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:~/.cursor/mcp.json に {"mcpServers": {"scandit": {"url": "https://ssl.scandit.com/mcp"}}} を追加します
    • VS Code:MCP ユーザー設定に {"servers": {"scandit": {"type": "http", "url": "https://ssl.scandit.com/mcp"}}} を追加します

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

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

その後、プレースホルダーの代わりにキーをコードに設定します。 .env にキーを設定しただけでは、アプリには反映されません。Cordova は .env を自動的に読み込まないため、以下の最も簡単な方法を使用してください。どのプラットフォームでも最も簡単な方法は、.env を読み込んでキーをライセンスキーの呼び出しに直接設定することです。その場合も、チャットで表示するのは一部をマスクしたプレビューのみにしてください。

リファレンス

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

トピックリソース
Cordova の統合はじめに
API リファレンス全般BarcodeCount API

コメント