The NFC advanced field type allows you to build Form screens that can read/write NFC tags using Android and iOS* devices.


*Read only supported on iOS devices.


For example, a form could read data from an NFC tag and prepopulate additional field values that can only be acquired from the tag, either confirming a location was checked, obtaining machine specs that are no longer visible, or launching a form after scanning a tag to perform a particular inspection, etc.


In this article

  • Unique Field Properties
  • NFC Functionality in Android
  • NFC Functionality in iOS

Unique Field Properties


PropertyDescription
On Read ActionDefine an action (from a drop-down list) to occur each time the user successfully reads an NFC tag with this field.
Read/Write MIME Type

Specify a target MIME type to read from and write to.

e.g. application/vnd.myapp or text/html

Read Value From

Specify a target record type to read from. (ALL/ID/NDEF/URI/TEXT)

Note: This setting is ignored if a MIME Type is specified

Write Value

If defined, a Write button appears that stores the given formula result on the NFC tag.

If left blank, no Write button appears

Lock Tag on Write

If selected, this option will permanently lock the NFC tag upon a successful Write operation.

Once locked, the tag CANNOT be unlocked!

Scan Inline

The NFC reader will be activated on Page load instead of showing a Read button (which is the default).

Only one inline NFC reader is supported per page or table.



NFC Functionality in Android


The best way to get familiar with the NFC Field functionality under Android is to experiment with the NFC field by using inexpensive NFC stickers (also called tags).


You can purchase these online; just run an internet search for the term "NFC Stickers".

NTAG213 tags, in particular, have proven very compatible with our Android NFC implementation.



Please be aware that the NFC standard has several variants, particularly around encryption. We do NOT currently support encrypted NFC tags and have no plans to do so at this time.



Always purchase one or two sample tags and test these with your target devices and app first before purchasing in bulk. This will save you money if your tags do not prove to be compatible with our NFC implementation.


Please also note that to use NFC tags with the app, they need to be pre-formatted using the NDEF format. 

Considering suppliers provide tags either empty or pre-formatted, we recommend that you confirm with your potential supplier whether or not they can pre-format the tags for you using NDEF.


There are two reasonably self-explanatory operations you can perform against a blank/new NFC tag/sticker:

  • Read values from the tag
  • Write a value to the tag (if the tag permits)


When working with new/blank tags, you must specify a MIME type that the app will use for read/write operations on that NFC field.


e.g application/vnd.nameofyourapp - where nameofyourapp is any unique name you wish, without spaces.

You set the MIME type via the "Read/Write MIME Type" property found on the NFC field's properties in the Form Designer.


Once a MIME type is set, when you run the app, a Read button will appear on the NFC field. 

If you hit the Read button and then tap your device to the NFC tag/sticker, the value stored against the given MIME type record will be set as the answer of the NFC field.


Should you have any subsequent Form fields that have formulae depending on the NFC field's value, then those will be triggered by the read operation.


Writing values to the NFC tag is controlled via the "Write Value" property found on the NFC field in the Form Designer. 

You must specify a formula that gives a text/string result in this property. i.e., a simple form field reference such as {{myfield}} will not work as a Write Value. You need to use the field in a formula function such as CONCAT().


The formula result will be written to the MIME type record on the tag via a Write button that appears on the app when a write formula is specified.


e.g. you could specify CONCAT(USERLASTNAME(), ', ', USERFIRSTNAME()) as the Write Value formula.


NFC Functionality in iOS


Android and iOS have different ways to manage reading from and writing to NFC Tags. Below is a method that allows you to write URIs to NFC Tags and then use nomorePAPER's deep-linking feature to open a specific app after scanning an NFC tag in iOS.


Step 1:

Download NFC Tools from the Apple App Store


Step 2:

Using NFC Tools, write a new Custom URL/URI record to the NFC tag. The URI format should be:

app://somescreen?myfield=somevalue
HTML

(matching the format as configured on the web platform via Apps > App Setup > Launch Options)


Step 3:

Ensure NFC is enabled on the device and scan the tag. The system will present a popup notification that can be clicked to launch the app and deliver the tag data to the launched app.


The iPhone XS and later support background tag reading.

With background tag reading, the system scans for and reads NFC data without requiring users to take an explicit choice to read a NFC tag.

The system displays a pop-up notification each time it reads a new tag. After the user taps the notification, the system delivers the tag data to the appropriate app. If the iPhone is locked, the system prompts the user to unlock the phone before providing the tag data to the app.


To avoid unintentional tag reading, the system only reads tags in the background when the user’s iPhone is in use. 

Also, be aware there are times when the display is on, and background tag reading is unavailable, such as if:


  • The device has never been unlocked.
  • A Core NFC reader session is in progress.
  • Apple Pay Wallet is in use.
  • The camera is in use.
  • Airplane mode is enabled.