semlette / nfc_in_flutter

Cross-platform flutter plugin for reading and writing NFC tags. Not maintained anymore - not looking for new maintainer, fork instead.
MIT License
120 stars 119 forks source link

Adding support for more tag types #40

Open semlette opened 4 years ago

semlette commented 4 years ago

Currently nfc_in_flutter only supports tags that support the NDEF specification. There have been numerous requests for better tag support (#18, #12, #14). Having support for accessing the tag directly would also allow for retrieving the ID of the tag on iOS (#35, #7).

This issue will be a plan for implementing support for interacting directly with the tags themself.

All work will be done on the tags branch. The tags branch should be considered unstable and should not be used in production.

Features and to-do list

nfc_in_flutter.dart library

APIs for both Android and iOS

These APIs will be high level to match Core NFC's APIs

android.dart library

The android.dart library will contain classes and functions mapped to the Android NFC APIs.

Note that NfcA and IsoDep APIs are unfinished

ios.dart library

The ios.dart library will contain classes and functions mapped to the Core NFC APIs.

To-dooOooOooOoooOoooooOOOoooo


Implementation plan

  1. Finish the NfcA and IsoDep APIs in the android.dart library
  2. iOS: Add option to prefer NFCTagReaderSession in readNDEF
    • [x] Add the IDs of the tags to the NDEF message
    • Remember to add documentation on how to enable NFCTagReaderSession
  3. To be decided

This issue may be updated at any time.

Work on this will begin shortly because I have finally figured out how to enable the NFCTagReaderSession class on iOS. This shall never be spoken about ever again.