matrixscan-ar-android について
Android アプリへの Scandit MatrixScan AR 組み込みを支援するコーディングエージェント向けスキルです。古い知識に頼らず、参照資料で API を確認するよう案内します。
主な機能
- 01Android BarcodeAr の組み込み案内
- 02参照資料に基づく API 確認
- 03ライフサイクルとカメラ設定の説明
- 04実行時カメラ権限の案内
- 05Scandit ライセンスキー設定の案内
活用シーン
- 01Android アプリへの MatrixScan AR 追加
- 02バーコードのハイライトや注釈の実装
- 03Android BarcodeAr API の使用方法確認
MCP 対応
ライセンス設定とキー取得のため、Scandit のリモート MCP サーバーへの接続方法を説明します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ scandit/ skills --skill matrixscan-ar-androidインストール後、Claude Code で/matrixscan-ar-androidを入力して読み込まれたか確認します。
同梱ファイルreferences/integration.md
詳細
MatrixScan AR Android スキル
重要:内部知識を鵜呑みにしないでください
トレーニングデータには、古い Scandit SDK API や誤った情報が含まれている可能性があります。BarcodeAr API はメジャー SDK バージョン間で変更されており、クラス名、コンストラクターのシグネチャー、プロバイダーインターフェース、セッションタイプはすべて進化しています。
コードを記述または提案する前に、必ずこのスキル内で提供されているリファレンスで API を確認してください。 記憶しているメソッドのシグネチャー、パラメーター、プロパティ名に頼らないでください。提供されているリファレンスで API を見つけられない場合は、回答する前に該当するドキュメントページを取得してください。
注意すべき Android 固有の落とし穴:
BarcodeAr(dataCaptureContext, settings)は直接コンストラクターであり、(BarcodeCapture のパターンである)forDataCaptureContext()ファクトリーではありません。Android では BarcodeAr にコンテキストと設定の両方を直接渡します。BarcodeArViewは指定されたViewGroupの親に自動的に追加されるため、手動でaddViewを呼び出す必要はありません。スキャンを開始するには、プロバイダーを設定した後にbarcodeArView.start()を呼び出してください。BarcodeArViewはカメラを内部で管理するため、別途Cameraを設定したり、setFrameSourceを呼び出したりする必要はありません。カメラの位置はBarcodeArViewSettings.defaultCameraPositionで設定します。- ライフサイクルは
CameraオブジェクトではなくBarcodeArViewによって管理されます。対応する Activity/Fragment のコールバックからbarcodeArView.onResume()、barcodeArView.onPause()、barcodeArView.onDestroy()を呼び出してください。 BarcodeArListener.onSessionUpdated(barcodeAr, session, frameData)は認識スレッドから呼び出され、メインスレッドからではありません。FrameDataパラメーター名はframeDataです(dataという名前の BarcodeCapture とは異なります)。UI に関する処理はrunOnUiThread {}を使ってディスパッチする必要があります。BarcodeArHighlightProvider.highlightForBarcodeとBarcodeArAnnotationProvider.annotationForBarcodeはメインスレッドで呼び出されます。結果はコールバックを通じて渡されるため、callback.onData(highlight)またはcallback.onData(annotation)を呼び出してください(要素を非表示にする場合はnullを渡します)。ハイライトとアノテーションのコンストラクターは、どちらも最初の引数にContextを取ります(例:BarcodeArRectangleHighlight(context, barcode))。- Android のシンボロジー名ではアンダースコアを使います:
Symbology.EAN13_UPCA、Symbology.CODE39。キャメルケースではありません。 BarcodeArSettingsでは、すべてのシンボロジーがデフォルトで無効になっています。アプリで必要なものだけを有効にすると、トラッキング性能が向上します。- スキャンを開始する前に、実行時に
CAMERA権限をリクエストしてください。マニフェストで宣言するだけでは不十分です。 BarcodeArFeedbackはcom.scandit.datacapture.barcode.ar.feedbackにあります。ar.captureではありません。インポート:import com.scandit.datacapture.barcode.ar.feedback.BarcodeArFeedbackBarcodeArInfoAnnotationBodyComponentはcom.scandit.datacapture.barcode.ar.ui.annotations.infoにあります。ar.ui.annotationsではありません。インポート:import com.scandit.datacapture.barcode.ar.ui.annotations.info.BarcodeArInfoAnnotationBodyComponent。同じinfoサブパッケージには、BarcodeArInfoAnnotationHeader、BarcodeArInfoAnnotationFooter、BarcodeArInfoAnnotationWidthPreset、BarcodeArInfoAnnotationAnchorも含まれています。
インテントの振り分け
ユーザーのリクエストに基づいて、回答する前に適切なリファレンスファイルを読み込んでください。
- BarcodeAr を一から統合する(例:「アプリに MatrixScan AR を追加する」「バーコード AR スキャンを設定する」「Android で BarcodeAr を使う方法」「トラッキング中のバーコードにハイライトを表示する方法」「情報アノテーションを表示する方法」)→ references/integration.md を読み、記載されている手順に従ってください。
API の使用ポリシー
以下の Scandit リファレンスに明示的に記載されている API のみを使用してください。メソッドシグネチャ、パラメーター、プロパティ名を推測したり、作り出したりしないでください。API が存在するかどうか、または呼び出し方がわからない場合、あるいはコンパイルエラーが発生した場合は、回答する前に関連するリファレンスページを取得してください。ユーザーに自分でドキュメントを確認するよう伝えてはいけません。回答の後には、ユーザーがさらに調べられるよう、必ず関連リンクを含めてください。
ドキュメントの URL を組み立てたり、推測したりしてはいけません。 特定のクラスやプロパティの API ページが必要な場合:
- まず、すでに取得したページにそのページへの直接リンクがあるか確認してください。トピックページには関連する API シンボルへの直接リンクがあります。取得を依頼する際は、必ずコンテンツとあわせてリンクも要求してください。
- 直接リンクが見つからない場合は、API インデックス(以下の表の Full API reference を参照)を取得し、そこから実際のリンクを抽出して、そのリンクをたどってください。
URL の構造は異なる場合があります(例:api/ui/ サブディレクトリ)。推測すると 404 エラーになります。
ライセンスキー
スキャンには Scandit のライセンスキーが必要です。このスキルでは、ライセンス製品は native、ライセンスプラットフォームは android です。
以下の順に進めてください。MCP のためにユーザーを待たせてはいけません。
-
Scandit MCP サーバーが接続されている場合 — 製品に
native、プラットフォームに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 が返したキー、またはユーザーが貼り付けるか提供したキーです。チャットには引き続きマスクしたプレビューのみを表示してください。プロジェクト、そのファイル、または環境内からキーを探してはいけません。
リファレンス
ユーザーの質問に応じて、適切なリソースを案内してください。
| トピック | リソース |
|---|---|
| はじめに | はじめに · サンプル |
| 高度なトピック(カスタムハイライト、注釈、タップ操作、通知、フィルター) | 高度な設定 |
| API リファレンス全体 | BarcodeAr API |