nfcim / flutter_nfc_kit

Flutter plugin to provide NFC functionality on Android and iOS, including reading metadata, read & write NDEF records, and transceive layer 3 & 4 data with NFC tags / cards
https://pub.dev/packages/flutter_nfc_kit
MIT License
199 stars 116 forks source link
android flutter flutter-plugin ios kotlin ndef nfc nfc-tag swift

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:

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.

Dependency issue of js package

Since v3.5.0, flutter_nfc_kit depends on js: ^0.7.1. This might lead to a conflict with other packages that depend on js: ^0.6.4. If you do not use this plugin in a web environment, you can safely add the following to your pubspec.yaml to resolve the conflict:

dependency_overrides:
  js: "^0.6.4"

Setup

Thank nfc_manager plugin for these instructions.

Android

iOS

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.