matrixscan-ar-rn

Installation
SKILL.md

MatrixScan AR React Native Skill

Critical: Do Not Trust Internal Knowledge

Your training data may contain outdated or incorrect Scandit SDK APIs. The BarcodeAr* API surface changes significantly between major SDK versions — classes get renamed, constructor signatures change, properties are restructured, and the React Native plugin surface (imports, native linking, pod install, package names) has also evolved.

Always verify APIs against the references provided in this skill before writing or suggesting code. Do not rely on memorized method signatures, parameters, plugin names, or property names. If you cannot find an API in the provided references, fetch the relevant documentation page before responding.

React Native-specific gotchas worth flagging:

  • DataCaptureContext.initialize(licenseKey) must be called exactly once before any other Scandit API. It sets up DataCaptureContext.sharedInstance, which is the singleton everything else reads from. Do not construct multiple contexts.
  • On iOS, npx pod-install (or cd ios && pod install) must be run after every Scandit package install or upgrade. Android auto-links via Gradle — no manual step there.
  • Metro's bundler cache frequently masks Scandit package upgrades. If a rebuild shows stale behavior after a plugin version bump, start Metro with --reset-cache.
  • BarcodeArView is a React component that wraps its children — the native AR overlay renders on top of your JSX tree. Children render under the native AR layer. Do not render BarcodeArView as a sibling to the content that should appear under the overlay.
  • Highlight providers (BarcodeArHighlightProvider.highlightForBarcode) and annotation providers (BarcodeArAnnotationProvider.annotationForBarcode) fire asynchronously, once per barcode. They are async functions that return a Promise resolving to the highlight or annotation object. Do not assume synchronous return.
  • BarcodeArView must be started explicitly via view.start() in the ref callback. Unlike SparkScan, the view does not start automatically on mount.
  • Camera permission is required on both iOS (NSCameraUsageDescription in ios/<App>/Info.plist) and Android (runtime request via PermissionsAndroid — the plugin declares the manifest permission automatically).
  • BarcodeAr requires SDK 7.1+. The new BarcodeAr(settings) constructor (without a context argument) is available from react-native=7.6. Use dataCaptureContext.addMode(barcodeAr) to attach the mode to the context.
  • BarcodeArCustomHighlight requires SDK 8.0+. BarcodeArCustomAnnotation requires SDK 8.1+. BarcodeArResponsiveAnnotation requires SDK 8.2+.
Related skills

More from scandit/scandit-sdk-skills

Installs
5
GitHub Stars
10
First Seen
Apr 28, 2026