nfc_pro_manager 3.1.6 copy "nfc_pro_manager: ^3.1.6" to clipboard
nfc_pro_manager: ^3.1.6 copied to clipboard

The industry-grade NFC SDK for Flutter. Supports robust Host Card Emulation (HCE), Identity Emulation, NDEF Read/Write, and ISO-DEP APDU communication with enterprise lifecycle management.

NFC Pro Manager πŸš€ #

pub package License: MIT

A robust Flutter SDK designed for advanced NFC use cases: payment simulation, smart card communication (ISO-DEP/APDU), and Host Card Emulation (HCE). Built to handle real-world reliability issues like data loss during app startup and connection drops.

❓ Why Nfc Pro Manager? #

Most Flutter NFC plugins are limited to basic NDEF tag reading. This SDK goes further by providing:

  • Full ISO-DEP / APDU support for complex smart card interactions.
  • Native Host Card Emulation (HCE) to turn your phone into a smart card.
  • Persistent Sessions that keep connections alive for multi-command workflows (crucial for payment).
  • Event Buffering which prevents missing card detections during app initialization.

⚑ Quick Start #

await NfcPro.startSession(
  onDiscovered: (tag) => print("Card UID: ${tag.uid}"),
);

πŸ†š Comparison #

Feature nfc_manager nfc_pro_manager
Raw APDU Commands ❌ βœ… Full Support
Card Emulation (HCE) ❌ βœ… Supported
Persistent ISO-DEP ⚠️ Basic βœ… Optimized
Lifecycle Management ❌ βœ… Auto-Suspend
Event Buffering ❌ βœ… Native Queue

πŸ“– Usage Examples #

Reading a Smart Card (APDU) #

Interact with banking cards, e-money, or access cards using batch commands:

List<String?> responses = await NfcPro.runScript([
  NfcApdu.selectAid("F0010203040506"),
  NfcApdu.readBinary(sfi: 1, offset: 0),
]);

Identity Emulation (HCE) #

Turn your Android device into a programmable NFC tag:

await NfcPro.setEmulationId("MY-IDENTITY-TOKEN");

MIFARE Classic Clone Support (Android Only) #

Read full card blocks from a MIFARE Classic tag and write them back to another compatible tag.

final blocks = await NfcPro.readMifareClassic(keyA: 'FFFFFFFFFFFF');
final success = await NfcPro.writeMifareClassic(
  blocks: blocks ?? [],
  keyA: 'FFFFFFFFFFFF',
  startBlock: 0,
);

Note: MIFARE Classic operations are only supported on Android.

Real Output Example #

UID: 04A224B1C39280
Type: android.nfc.tech.IsoDep, android.nfc.tech.NfcA
Content: Secure Identity Token v3

πŸ’‘ Common Use Cases #

  • πŸ’³ E-money reader for balance checking.
  • 🏒 Digital access cards for office or gym entry.
  • πŸ” Secure login via physical NFC tokens.
  • πŸ“‡ Smart identity cards for attendance systems.

πŸŽ– Platform Support & Limitations #

Feature Android iOS
Tag Discovery βœ… βœ…
APDU (ISO-DEP) βœ… βœ… (ISO7816 only)
HCE (Emulation) βœ… ❌ (Apple Lock)
NDEF Write βœ… ❌

⚠️ iOS CoreNFC Limitations: #

  • No HCE: Apple does not allow third-party apps to emulate cards.
  • Scanning UI: iOS shows a mandatory system modal during scanning.
  • Background: Very limited background scanning compared to Android.

πŸ”§ Installation & Setup #

Prerequisites #

  • Flutter: >= 3.0.0
  • Android SDK: API 30 or higher (automatically enforced by plugin)
  • iOS: iOS 12.0+

Installation #

Just add to your pubspec.yaml:

dependencies:
  nfc_pro_manager: ^3.1.3

Run flutter pub get and you're done! βœ…

The plugin automatically enforces minSdkVersion 30 on Android. No manual configuration needed!

βœ… Compatibility Matrix #

Flutter Version Dart Android SDK Status
3.0.x - 3.5.x >=3.0 30+ βœ… Supported
4.0.x+ >=3.3 30+ βœ… Supported

Note: Pure Kotlin/Java implementation - no NDK required!

πŸ“„ License #

MIT License. Created with ❀️ for the Flutter community.

4
likes
130
points
108
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

The industry-grade NFC SDK for Flutter. Supports robust Host Card Emulation (HCE), Identity Emulation, NDEF Read/Write, and ISO-DEP APDU communication with enterprise lifecycle management.

Repository (GitHub)
View/report issues

Topics

#nfc #hce #apdu #smart-card #flutter-plugin

License

MIT (license)

Dependencies

flutter

More

Packages that depend on nfc_pro_manager

Packages that implement nfc_pro_manager