matrixscan-ar-capacitor について
CapacitorアプリへのScandit MatrixScan AR(BarcodeAr)の導入や移行を支援するスキルです。タスク別の資料案内に加え、API確認、ビュー接続、初期化、プラットフォーム要件を扱います。
主な機能
- 01導入・移行タスクの振り分け
- 02参照資料に基づくBarcodeAr API確認
- 03プラグイン初期化とビュー接続の説明
- 04プラットフォームとカメラ設定要件の提示
活用シーン
- 01CapacitorアプリへのMatrixScan AR導入
- 02BarcodeBatchからBarcodeArへの移行
- 03バーコードのハイライトや注釈の追加
MCP 対応
Scandit MCPサーバーを使ったスキャナー設定とライセンスキー取得に対応し、リモートサーバーの接続方法も説明します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ scandit/ skills --skill matrixscan-ar-capacitorインストール後、Claude Code で/matrixscan-ar-capacitorを入力して読み込まれたか確認します。
同梱ファイルreferences/integration.mdreferences/migration.md
詳細
MatrixScan AR Capacitor スキル
重要:内部知識を信用しないでください
学習データには、古い、または誤った Scandit SDK API が含まれている可能性があります。BarcodeAr API は Capacitor 8.2 で新たに追加されたため、参照できる Capacitor での過去の実装はありません。プロパティ、コンストラクターのシグネチャー、プロバイダーのインターフェイス、ビューのアタッチ方法は、他のプラットフォームや一般的な知識と異なる場合があります。
コードを記述または提案する前に、必ずこのスキルで提供されているリファレンスを使って API を確認してください。 記憶しているメソッドのシグネチャー、パラメーター、プラグイン名、プロパティ名に頼らないでください。提供されたリファレンス内に API が見つからない場合は、回答する前に関連するドキュメントページを取得してください。
注意すべき Capacitor 固有の落とし穴:
ScanditCaptureCorePlugin.initializePlugins()は、DataCaptureContextの構築を含む、ほかのすべての Scandit API の前に呼び出し(完了を待機)する必要があります。呼び出しを忘れると、初期化とは無関係に見えるランタイムエラーが発生します。- iOS/Android にネイティブの成果物を反映するため、プラグインのバージョンを変更するたびに
npx cap syncを実行する必要があります。これを省略すると、実行時に Web とネイティブのバージョンが一致しなくなります。 - BarcodeArView には DOM 要素が必要です。 SparkScan とは異なり、BarcodeArView は浮動するネイティブオーバーレイではありません。DOM 要素からサイズと位置を取得します。HTML 内の
<div id="barcode-ar-view">コンテナーにアタッチするには、await barcodeArView.connectToElement(element)を呼び出す必要があります。 - Capacitor で BarcodeAr を使用する場合の最小 SDK バージョンは 8.2 です。このプラットフォームには、移行元となる v6 や v7 の履歴はありません。
BarcodeArはnew BarcodeAr(settings)で構築します。コンテキストはBarcodeArViewを介して別途接続し、モードのコンストラクターには渡しません。- カメラは
BarcodeAr.createRecommendedCameraSettings()、Camera.withSettings(cameraSettings)、context.setFrameSource(camera)を使って明示的に設定します。実行開始後のカメラのライフサイクルは BarcodeArView が管理します。 highlightProviderとannotationProviderは、非同期メソッドを持つ単純なオブジェクトです。BarcodeArViewインスタンスのプロパティとして設定します。- iOS では
Info.plistにNSCameraUsageDescriptionが必要です。Android ではカメラの権限が自動的に処理されます。
インテントの振り分け
ユーザーのリクエストに応じて、回答する前に適切なリファレンスファイルを読み込んでください。
-
MatrixScan AR を一から統合する場合(例:「アプリに MatrixScan AR を追加したい」「Barcode AR を設定したい」「Capacitor で BarcodeArView を使う方法」「アノテーションを表示する方法」「バーコードをハイライトする方法」)→ references/integration.md を読み、記載された手順に従ってください。
-
BarcodeBatch/BarcodeTracking から BarcodeAr に移行する場合(例:「BarcodeBatch のコードを移行したい」「BarcodeTracking を BarcodeAr に置き換えたい」「MatrixScan から BarcodeAr にアップグレードしたい」、対象ファイルが
BarcodeBatch、BarcodeBatchBasicOverlay、BarcodeBatchAdvancedOverlay、TrackedBarcodeViewをインポートしている、または BarcodeBatch インスタンスを使ってcontext.setMode(を呼び出している)→ references/migration.md を読み、記載された 10 ステップの移行プロセスに従ってください。
API の使用ポリシー
以下の Scandit リファレンスで明示的に文書化されている API のみを使用してください。メソッドのシグネチャ、パラメーター、プロパティ名、インポートを捏造したり推測したりしないでください。API が存在するか、または呼び出し方法がわからない場合、あるいは TypeScript/実行時エラーが発生した場合は、回答する前に該当するリファレンスページを取得してください。ユーザー自身でドキュメントを確認するよう伝えてはいけません。回答後は、ユーザーがさらに確認できるよう、必ず該当するリンクを含めてください。
ドキュメントの URL を作成したり推測したりしてはいけません。 特定のクラスまたはプロパティの API ページが必要な場合:
- まず、すでに取得したページ(例:Get Started ページ)に、そのページへの直接リンクがあるか確認してください。トピックページには関連する API シンボルへの直接リンクがあります。コンテンツを取得する際は、必ずリンクも一緒に取得してください。
- 直接リンクが見つからない場合は、API インデックス(以下の表の完全な API リファレンスを参照)を取得し、そこから実際のリンクを抽出してアクセスしてください。
URL の構造は SDK のバージョンやプラグインのパスによって異なります(例:api/ui/ サブディレクトリ)。推測すると 404 エラーが発生します。
フレームワークのバリエーションに関するポリシー
Capacitor は WebView ベースのフレームワークです。このスキルの例では**プレーン JavaScript(ES モジュール)**を使用します。TypeScript プロジェクトでも同じインポートと API をそのまま使用できます。型を追加するだけですが、このスキルではデフォルトで TypeScript プロジェクトを想定していません。対象プロジェクトが明らかに TypeScript(.ts ファイル、tsconfig.json)の場合は、最終出力を TypeScript の構文に合わせてください。それ以外の場合はプレーン JS を使用してください。
ライセンスキー
スキャンには Scandit のライセンスキーが必要です。このスキルでは、ライセンス製品は native、ライセンスのプラットフォームは ios と android です。
以下の手順を順番に実行してください。MCP のためにユーザーを待たせてはいけません。
-
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でキーがトライアルではないと表示された場合は、取得する前にユーザーに確認してください。チャットで表示するのは、最大でもマスクされたプレビューにしてください。キー全体を表示してはいけません。 -
接続されていない場合 — ユーザーに一度だけ、MCP クライアントでリモート Scandit MCP サーバー(
https://ssl.scandit.com/mcp)を接続できると伝え、その後は手順 1 を続けてください。MCP クライアントの設定を自分で編集してはいけません。認証はブラウザー経由で行われるため、ヘッドレス環境や CI ではサポートされていません。サーバーが発行するのはトライアルキーのみです。本番ライセンスの作成、取り消し、変更は行いません。
-
ユーザーが希望しない場合、または MCP クライアントを持っていない場合 — https://ssl.scandit.com でユーザー自身がキーを生成して貼り付けます(アカウントをまだ持っていない場合は https://ssl.scandit.com/dashboard/sign-up?p=test)。
その後、キーをコードに設定します。プレースホルダーの代わりに、ライセンスキー呼び出しへキーを記述してください。キーは get_license_key が返したもの、またはユーザーが貼り付けるか提供したものを使用します。チャットで表示するのは、引き続きマスクされたプレビューのみです。プロジェクト、そのファイル、環境からキーを検索してはいけません。
リファレンス
質問に応じて、ユーザーを適切なリソースに案内してください。
| トピック | リソース |
|---|---|
| Capacitor の統合 | はじめに · サンプル |
| 完全な API リファレンス | BarcodeAr API |