mcpField
B
barcode-capture-web

barcode-capture-web

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

barcode-capture-web について

Web プロジェクトでの Scandit BarcodeCapture の導入やアップグレードを支援するスキルです。SDK バージョンに応じた資料を参照し、コードを提案する前に API と非同期動作を確認します。

主な機能

  1. 01BarcodeCapture の Web 統合ガイド
  2. 02SDK 移行ガイド
  3. 03資料に基づく API の確認
  4. 04非同期初期化とスキャン処理
  5. 05ライセンスキー設定ガイド

活用シーン

  1. 01Web アプリへのバーコードスキャン追加
  2. 02スキャン時のフィードバックやオーバーレイ設定
  3. 03既存の BarcodeCapture 統合のアップグレード

MCP 対応

リモートの Scandit MCP サーバーを使ったトライアルライセンスキーの設定と取得が記載されています。サーバー未接続時の進め方も説明されています。

インストール

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

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

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

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

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

BarcodeCapture Web スキル

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

トレーニングデータには、古い、または誤った Scandit SDK API が含まれている可能性があります。BarcodeCapture Web API は SDK のメジャーバージョン間で大幅に変更されます。メソッド名が変更されたり、非同期処理のパターンが変わったり、v8 ではコンテキストの初期化方法が再設計されたりしています。

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

Web 固有の注意点:

  • DataCaptureContext.forLicenseKey() は await する必要があります。これは非同期で、DataCaptureContext.sharedInstance を設定します。戻り値を取得せず、常に DataCaptureContext.sharedInstance を使用してください。
  • BarcodeCapture.forContext(context, settings) は非同期です。必ず await してください。
  • DataCaptureView.forContext(context) は非同期です。必ず await してください。
  • BarcodeCaptureOverlay.withBarcodeCaptureForView(barcodeCapture, view) は非同期です。必ず await してください。
  • barcodeCapture.setEnabled(false/true) は非同期です。重複スキャンを防ぐため、didScan 内で処理を行う前に await してください。
  • リスナーのコールバックは didScan です。onBarcodeScanned ではありません(これは Android での名前です)。
  • Web では codeDuplicateFilter はミリ秒単位の数値です(例:500)。Android のような TimeInterval オブジェクトではありません。
  • BarcodeCapture.recommendedCameraSettings は静的プロパティであり、メソッド呼び出しではありません。
  • view.connectToElement() に渡す DOM 要素には、定義された寸法と位置が必要です。サイズがゼロ、または位置が設定されていない要素では、カメラのプレビューが表示されません。
  • カメラは手動で管理します。起動するには context.frameSource.switchToDesiredState(FrameSourceState.On) を呼び出し、停止するには FrameSourceState.Off を指定してください。カメラは自動では停止しません。

インテントの振り分け

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

  • BarcodeCapture を一から統合する、設定する、フィードバックやオーバーレイをカスタマイズする、ビューファインダーを追加する、スキャンを処理する、またはスキャン後に非同期処理を行う(例:「アプリに BarcodeCapture を追加する」「バーコードスキャンを設定する」「Web で BarcodeCapture を使う方法」「重複スキャンをフィルタリングする」「ビープ音を抑制する」「ビューファインダーを追加する」「バーコードを検索している間スキャンを無効にする」)→ references/integration.md を読み、そこに記載された指示に従ってください。
  • 既存の BarcodeCapture 統合を移行またはアップグレードする(例:「v6 から v7 にアップグレードする」「BarcodeCapture を移行する」「Scandit SDK を v8 に上げる」「SDK のバージョン間で何が変わったか」)→ references/migration.md を読み、そこに記載された指示に従ってください。

API の使用方針

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

ドキュメントの URL を決して組み立てたり、推測したりしないでください。 特定のクラスまたはプロパティの API ページが必要な場合:

  1. まず、すでに取得したページに、そのページへの直接リンクがあるか確認してください。トピックページには関連する API シンボルへの直接リンクがあります。取得を依頼する際は、必ずコンテンツと併せてリンクも要求してください。
  2. 直接リンクが見つからない場合は、API インデックスを取得し(下の表の完全な API リファレンスを参照)、そこから実際のリンクを抽出して開いてください。

URL の構造は異なる場合があります(例:api/ui/ サブディレクトリ)。推測すると 404 エラーになります。

ライセンスキー

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

以下の手順を順番に進めてください。MCP が使えない場合でも、ユーザーの作業を止めてはいけません。

  1. Scandit MCP サーバーが接続されている場合 — 製品に sdk、プラットフォームに webassembly を指定して 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 にキーを保存しただけでは、アプリには反映されません。バンドラーの環境変数サポートを使って読み取ります。たとえば Vite では import.meta.env を使います(envPrefix で別途指定しない限り、VITE_ プレフィックスが付いた名前のみが公開されます)。どのプラットフォームでも最も簡単な方法は、.env を読み込み、ライセンスキーの呼び出しにキーを直接設定することです。その場合も、チャットにはマスクされたプレビューのみを表示してください。

参考資料

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

トピックリソース
はじめにはじめに · サンプル
高度なトピック(ビューファインダー、場所の選択、フィードバック、重複のフィルタリング、複合コード)高度な設定
SDK メジャーバージョン間の移行6 → 7 · 7 → 8
API リファレンス全文BarcodeCapture API

コメント