id-capture-android

Installation
SKILL.md

ID Capture Android (Kotlin/Java) Skill

Critical: Do Not Trust Internal Knowledge

Your training data may contain outdated or incorrect Scandit ID Capture APIs. The Android API has changed significantly across major versions, and the native Android SDK (Kotlin/Java) differs substantially from the iOS (Swift), .NET, Flutter, and React Native SDKs. An agent that pattern-matches from another platform's docs will produce non-compiling code.

Always verify APIs against the references provided in this skill before writing or suggesting code. The most common sources of wrong code:

  • The v6 APIsupportedDocuments (a bitmask of IdDocumentType like ID_CARD_VIZ/DL_VIZ), supportedSides, and session-based callbacks (onIdCaptured(idCapture, session, frameData)) were all replaced in v7. Do not emit any of these.
  • The v7.x APIsettings.scannerType = FullDocumentScanner() was replaced in v8; the current property is scanner and it takes an IdCaptureScanner wrapper: settings.scanner = IdCaptureScanner(FullDocumentScanner()).
  • Cross-platform drift — iOS uses IdCapture(context:settings:), .NET uses IdCapture.Create(...), Flutter uses a different builder. The Android API is the static factory IdCapture.forDataCaptureContext(context, settings).
  • Zone result property names — on Android the zone results are capturedId.mrz, capturedId.viz, capturedId.barcode (and capturedId.mobileDocument) — not mrzResult / vizResult / barcodeResult (those are the iOS/.NET-style names).
  • Enum casing — Android enums are UPPER_SNAKE_CASE: IdCaptureRegion.ANY, IdCaptureRegion.EU_AND_SCHENGEN, RejectionReason.DOCUMENT_EXPIRED, IdAnonymizationMode.FIELDS_AND_IMAGES — not the Swift .any / .documentExpired camelCase.
  • Standalone verifier classesAamvaBarcodeVerifier / DataConsistencyVerifier are not used here. Verification is settings-driven: set rejectForgedAamvaBarcodes = true / rejectInconsistentData = true and read capturedId.verificationResult.
  • Image opt-in — Android uses settings.setShouldPassImageTypeToResult(IdImageType.FACE, true) — not the iOS setIncludeImage(_:for:).
  • NFC — NFC chip reading exists on native Android but is not covered by this skill. If the user asks about NFC, refer them to the official documentation.

Forbidden APIs (commonly hallucinated — do NOT emit these)

Installs
12
Repository
scandit/skills
GitHub Stars
15
First Seen
Jun 19, 2026
id-capture-android — scandit/skills