mcpField
B
barcode-capture-cordova

barcode-capture-cordova

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

barcode-capture-cordova について

CordovaアプリへのScandit BarcodeCaptureの導入や移行を支援するスキルです。参照資料に基づくAPI確認と、Cordova固有の初期化やビュー設定を重視します。

主な機能

  1. 01導入・更新・置換タスクの振り分け
  2. 02参照資料に基づくScandit API確認
  3. 03Cordovaの初期化とビュー設定の説明
  4. 04ライセンスキー設定の案内

活用シーン

  1. 01Cordovaアプリへのバーコードスキャン導入
  2. 02Scandit SDKのバージョン更新
  3. 03BarcodeCaptureによる他社スキャナーの置換

MCP 対応

Scandit MCPサーバーを使ったスキャナー設定とライセンスキー取得に対応し、リモートサーバーの接続方法も説明します。

インストール

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

$npx skills add https://github.com/scandit/skills --skill barcode-capture-cordova

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

同梱ファイル

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

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

詳細

BarcodeCapture Cordova スキル

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

トレーニングデータに、古くなった Scandit SDK API や誤った API が含まれている可能性があります。BarcodeCapture API はメジャー SDK バージョン間で大幅に変更されます。キャプチャモードのファクトリーがコンストラクターに置き換わったり、リスナーのシグネチャが変わったりしており、Cordova プラグインの仕様(グローバルな Scandit 名前空間、プラグインのインストールコマンド、deviceready のタイミング)も進化しています。

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

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

  • Scandit SDK はグローバルな window.Scandit オブジェクトを通じて公開されます。npm パッケージ名(scandit-cordova-datacapture-*)はプラグインのマニフェストであり、実行時の ES モジュールではありません。WebView で実行するユーザーコードに import { ... } from 'scandit-cordova-datacapture-*' を出力しないでください。代わりに Scandit.X を使用してください(型定義には必要に応じて global.d.ts を使用できます)。パッケージから直接インポートするのは、Ionic/Angular/Webpack でバンドルされたプロジェクトに限ります。
  • Scandit API を使用する際に安全なゲートは document.addEventListener('deviceready', ...) だけです。モジュールの読み込み時に Scandit の呼び出しを実行しないでください。Cordova のブリッジがまだ準備できていないため、失敗します。
  • プラグインのバージョンを変更した後は、新しいネイティブアーティファクトを反映するために cordova prepare を実行してください(必要に応じてプラットフォームも再インストールしてください)。これを省くと、実行時にバージョン不一致が発生します。
  • BarcodeCapture でカメラプレビューを表示するには、表示されている DataCaptureView が必要です。SparkScan と異なり、ネイティブオーバーレイはありません。view.connectToElement(...) を使って DataCaptureView を HTML 要素にマウントし、そのビューの上に BarcodeCaptureOverlay を追加して、認識したバーコードを描画します。どちらかを忘れると、「スキャンは動作するのに何も表示されない」という問題が最もよく発生します。
  • didScan コールバック内では、1 フレーム以上かかる UI 処理を行う前に、モードを無効化します(barcodeCapture.isEnabled = false)。リスナーの実行中はフレーム処理がブロックされるため、時間のかかる処理をここで行うとカメラが停止し、スキャンが重複する可能性があります。

インテントの振り分け

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

  • BarcodeCapture を新規に統合する(例:「アプリに BarcodeCapture を追加して」「バーコードスキャンを設定して」「Cordova で BarcodeCapture を使う方法は?」「カメラプレビューを表示する方法は?」)→ references/integration.md を読み、そこに記載された指示に従ってください。
  • 既存の BarcodeCapture 統合を移行またはアップグレードする(例:「v6 から v7 にアップグレードして」「BarcodeCapture を移行して」「Scandit プラグインを v8 に上げて」「SDK バージョン間で何が変わった?」)→ references/migration.md を読み、そこに記載された指示に従ってください。
  • サードパーティー製スキャナーを BarcodeCapture に置き換える(例:「phonegap-plugin-barcodescanner から Scandit に移行して」「cordova.plugins.barcodeScanner.scan を BarcodeCapture に置き換えて」「Cordova のバーコードスキャナープラグインを Scandit に差し替えて」)→ references/third-party-migration.md を読み、そこに記載された指示に従ってください。

API の使用ポリシー

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

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

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

URL の構造は SDK のバージョンやプラグインのパスによって異なり、推測すると 404 になります。

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

Cordova は WebView ベースのフレームワークです。このスキルの例では、プレーンな JavaScript(公式の BarcodeCaptureSimpleSample にあるような、必要に応じた JSDoc 型ヒント付き)を使用します。同じ API は TypeScript でも動作します。global.d.ts 宣言ファイル(references/integration.mdで説明)を追加し、TypeScript の構文で記述してください。このスキルでは、デフォルトで TypeScript プロジェクトを想定していません。対象プロジェクトが明らかに TypeScript(.ts ファイル、tsconfig.json)の場合は、最終出力を TypeScript に合わせてください。それ以外の場合は、プレーンな JS を使用してください。

ライセンスキー

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

次の手順を順番に実行してください。MCP のためにユーザーを待たせてはいけません。

  1. Scandit MCP サーバーが接続されている場合 — 製品に native、プラットフォームに ios と android、app_identifier(アプリのバンドル ID またはアプリケーション ID。Web の場合は本番ドメインで、localhost は使用しません)、env_var に 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 が返したキー、またはユーザーが貼り付けたか提示したキーです。チャットでは引き続きマスクされたプレビューのみを表示してください。プロジェクト、そのファイル、環境からキーを探してはいけません。

リファレンス

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

トピックリソース
Cordova の統合はじめに · サンプル
高度なトピック(カスタムフィードバック、ビューファインダー、スキャンエリア、位置選択、複合コード)高度な設定
SDK のメジャーバージョン間の移行6 → 7 · 7 → 8
完全な API リファレンスBarcodeCapture API

コメント