Skip to content

Device and NFC Notes

mrt_card_reader provides cross-platform support while handling platform NFC differences internally.

Android

Uses NFC-F (FeliCa) via native transceive() APIs. Supported on Android API level 19 and newer.

iOS

Uses FeliCa readWithoutEncryption() APIs (iOS 13+), with normalized output matching Android data shape.

  • Maintain a known-good test matrix for Android and iOS devices.
  • Validate on real cards in commute conditions, not only in office demos.
  • Track failed sessions with enough context (device, OS, timeout, error type).
  • Keep scan UX resilient: cancellation and retries are normal behaviors.

Immediate status feedback

Show clear messages like "Ready", "Scanning", "Card read", or specific error text from typed exceptions.

Deterministic session timeout

Use explicit timeout values so users never feel stuck in an endless scan state.

One-tap retry

For recoverable failures, keep users in flow with a retry action instead of forcing full navigation reset.

FeliCa support requires compatible iPhone models (typically iPhone 7 or newer, excluding iPhone X per package docs). Always verify your target audience device mix before rollout.