I bought a set of proximity beacons for use at a careers event. The beacons will broadcast the address of our website when people are near our stand. I’d also like to configure the beacons so that tapping on them with a phone will launch the website via NFC.
It does not appear to be possible to set a URL NFC record on the beacon using the Estimote app (you can only set an Android app package name), so I installed Android Studio, downloaded a Configuration template, updated the SDK version to 0.13, and then modified the template to write a NFC URL record as detailed here:
This appears to have worked, in that I was able to build the updated sample, and use it to update a beacon with the app running on phone.
However, when I tap another Android device on the beacon, rather than opening Chrome immediately, it opens the “New tag collected” screen, on which you then have to tap the URL to open it in Chrome. This feels unnecessarily janky, and appears to be because the sample insists on writing the estimote.com:id and estimote.com:mac records as well.
How do I prevent this from happening? I need the beacon to just respond with a single URL record, so that Chrome opens immediately on the website when tapped.
Yes, the only way you can write NFC records to Estimote beacons is by using Estimote SDK methods. As you’ve noticed, there are also estimote.com:id and estimote.com:mac records. However, it doesn’t affect NFC scanning flow.
To have a better grasp of what you’ve actually done, when you tapped on the beacon using first Android device, it triggered Chrome immediately with specified URL while on the second one you have to tap scanned URL in order to launch the browser, am I right ?
It would be really helpful for further support and provide you the right solution.
I’ve programmed other NFC tags before using TagWriter, and if the tag only has a single URL record, then an Android device will open that URL in Chrome immediately when the tag is read by the phone.
However because I can not write a URL tag to an Estimote beacon without also writing the addition estimote.com records, this does not happen. Instead the interstitial screen shown in the below screenshot appears, and the user has to explicitly select the URL record to open the URL concerned in Chrome.
I’d like the beacon to behave the same way as other tags I have used, such that reading the beacon opens the URL in Chrome immediately. I believe this requires that only the URL record is present on the beacon. Is this possible?
You are right. In order to open Chrome immediately while using NFC, its’ tag should consist only one record - URL type record. Unfortunately, right now it’s not possible to write a single URL record inside beacon NFC tag. However, your particular use case is a huge motivation for us to reconsider it when preparing for the next improvements!