flutter_nfc_kit 3.6.0-rc.4 copy "flutter_nfc_kit: ^3.6.0-rc.4" to clipboard
flutter_nfc_kit: ^3.6.0-rc.4 copied to clipboard

Provide NFC functionality on Android, iOS & Web, including reading metadata, read & write NDEF records, and transceive layer 3 & 4 data with NFC tags / cards

Flutter NFC Kit #

pub version Build Example App

Yet another plugin to provide NFC functionality on Android, iOS and browsers (by WebUSB, see below).

This plugin's functionalities include:

  • read metadata and read & write NDEF records of tags / cards complying with:
    • ISO 14443 Type A & Type B (NFC-A / NFC-B / MIFARE Classic / MIFARE Plus / MIFARE Ultralight / MIFARE DESFire)
    • ISO 18092 (NFC-F / FeliCa)
    • ISO 15963 (NFC-V)
  • R/W block / page / sector level data of tags complying with:
    • MIFARE Classic / Ultralight (Android only)
    • ISO 15693 (iOS only)
  • transceive raw commands with tags / cards complying with:
    • ISO 7816 Smart Cards (layer 4, in APDUs)
    • other device-supported technologies (layer 3, in raw commands, see documentation for platform-specific supportability)

Note that due to API limitations, not all operations are supported on all platforms. You are welcome to submit PRs to add support for any standard-specific operations.

This library uses ndef for NDEF record encoding & decoding.

Setup #

Android #

We have the following minimum version requirements for Android plugin:

  • Java 17
  • Gradle 8.9
  • Android SDK 26 (you must set corresponding jvmTarget in you app's build.gradle)
  • Android Gradle Plugin 8.7

To use this plugin on Android, you also need to:

iOS #

This plugin now supports Swift package manager, and requires iOS 13+.

Web #

The web version of this plugin does not actually support NFC in browsers, but uses a specific WebUSB protocol, so that Flutter programs can communicate with dual-interface (NFC / USB) devices in a platform-independent way.

Make sure you understand the statement above and the protocol before using this plugin.

Usage #

We provide simple code example and a example application.

Refer to the documentation for more information.

Error codes #

We use error codes with similar meaning as HTTP status code. Brief explanation and error cause in string (if available) will also be returned when an error occurs.

Operation Mode #

We provide two operation modes: polling (default) and event streaming. Both can give the same NFCTag object. Please see example for more details.

228
likes
160
points
15.6k
downloads

Publisher

verified publishernfc.im

Weekly Downloads

Provide NFC functionality on Android, iOS & Web, including reading metadata, read & write NDEF records, and transceive layer 3 & 4 data with NFC tags / cards

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

convert, flutter, flutter_web_plugins, json_annotation, logging, ndef

More

Packages that depend on flutter_nfc_kit