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

A professional NFC library for Flutter. Supports Host Card Emulation (HCE), Identity Emulation, NDEF Read/Write, and ISO-DEP APDU communication.

NFC Pro Manager 🚀 #

The enterprise-grade NFC solution for Flutter. Engineered for low-latency communication, advanced ISO-DEP (APDU) interaction, and Identity Emulation (HCE) with virtual AID routing.


🌟 Why NFC Pro Manager? #

Feature NFC Pro Standard NFC Libs
Identity Emulation (HCE) ✅ (Full) ❌ / ⚠️ (Limited)
APDU Transceive (ISO-DEP) ✅ (Native Speed) ⚠️ (Slow/Buggy)
Lifecycle Session Control ✅ (Start/Stop) ❌ (Persistent Only)
Strongly Typed Models ✅ (NfcTag Class) ❌ (Raw Map)
Structured Exceptions ✅ (Enums) ❌ (String only)

🛡️ Identity Emulation (HCE) Deep-Dive #

Unlike basic UID spoofing, NFC Pro Manager utilizes the Android Host Card Emulation (HCE) stack. It allows your device to act as a virtual smart card.

  • AID Routing: The service listens for specific Application Identifiers (AIDs).
  • APDU Handling: Supports bidirectional APDU exchange for secure authentication.
  • Technology Support: Emulates ISO/IEC 7816-4 based cards.

⚡ Performance Metrics #

  • Discovery Latency: < 250ms from physical contact to Dart event.
  • APDU Round-trip: 50ms - 150ms (average overhead ~5ms).
  • Emulation Warm-up: Instant (once ID is set).

🔐 Advanced Use Case: Secure NFC Login #

Build a corporate-grade login system using a challenge-response flow.

// 1. Check if hardware is ready
if (await NfcPro.isAvailable()) {
  
  // 2. Start a controlled session
  await NfcPro.startSession(
    onDiscovered: (tag) async {
      // 3. Generate a security challenge
      String challenge = "00A4040008A000000003000000"; // Example Select AID
      
      try {
        // 4. Send challenge to Smart Card via APDU
        String? response = await NfcPro.transceive(challenge);
        
        if (response != null && response.endsWith("9000")) {
          print("Authentication Successful!");
        }
      } on NfcException catch (e) {
        print("Comm Error: ${e.type}");
      }
    },
    onError: (e) => print("Session Error: ${e.message}"),
  );
}

⚠️ Platform Limitations & Disclaimers #

  • Hardware Dependency: Identity Emulation (HCE) is Android-only.
  • iOS Restrictions: Apple limits NFC to NDEF and limited ISO-DEP reading only.
  • Encryption: This library provides the transport layer. Encrypted sectors require valid security keys to be sent via APDU commands.

📱 Hardware Verification #

Always verify hardware capabilities before initiating sessions:

bool hasNfc = await NfcPro.isAvailable();
bool hasHce = await NfcPro.supportsEmulation();

📄 License #

MIT License.

Engineered for reliability. Built for the Flutter Community.

3
likes
0
points
546
downloads

Publisher

unverified uploader

Weekly Downloads

A professional NFC library for Flutter. Supports Host Card Emulation (HCE), Identity Emulation, NDEF Read/Write, and ISO-DEP APDU communication.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on nfc_pro_manager

Packages that implement nfc_pro_manager