Most of our beacons these days come with an NFC (Near Field Communication) module. That includes:
- Proximity Beacons (hardware revisions G1.8, G1.12, and J1.6)
- Location Beacons (F3.3)
- Location Beacons with UWB (I1.2)
In certain situations, the NFC on your beacon can be a great addition to your Bluetooth-enabled interactions. Think about the moments when you need to:
- prompt an explicit action instead of just detecting presence in beacon's range (e.g. making a payment, redeeming a coupon)
- trigger an interaction at a very short range (down to centimeters) in order to, e.g. differentiate items placed right next to each other (e.g. displaying more information about products in an electronic store)
We have the touch events with NFC covered in our documentation. Please note that this article covers only NFC interactions, not a seemingly similar RFID standard. Our beacons don't use RFID.
Hundreds of modern smartphones are equipped with NFC and dozens of new devices are joining the club every month. You’ll find the most up-to-date list of NFC-compatible devices here.
Reading data from NFC
For reading the NFC data from beacons, you can use the built-in iOS and Android APIs.
- The iOS version is available in the form of an app template in the Estimote Cloud. Download it and try some simple interactions right away.
- You'll find the Android version here. It's also described in more detail in the documentation we mentioned earlier.
A brief overview of the NFC [NDEF - NFC Data Exchange Format] records you can read from our beacons can be found here (these include the beacon identifier and the MAC address of the connectable packet among others).
Writing data to NFC
When it comes to writing data into the NFC, it works a bit differently. You don’t write the data to the beacon’s NFC tag as you would do with most regular writable NFC tags. Instead, you configure the beacon to broadcast your custom NDEF records or message via our beacon configuration APIs:
EstimoteNdefMessage myCustomNdefMessage = new EstimoteNdefMessage( // ...
deviceConnection.settings.nfc.data().set(myCustomerNdefMessage, // ...
Any NDEF records you configure will be broadcasted in addition to the beacon identifier and the MAC address mentioned earlier.
At this point in time, NFC configuration is only available in the Estimote Android SDK.