There’s a sparse library of sample code and tutorials when it comes to Apple iBeacon technology – in part because much of it seems to have been written without access to, you know, actual beacons. Instead, it’s simple stuff like an overview of using two phones to set up broadcasting and monitoring.
But Cocoanetics has put together what is, so far, the ultimate guide to programming with Bluetooth beacons – and they’re using actual Estimotes to show how it all works.
The tutorial takes you through the process:
- Explaining the difference between region monitoring and beacon proximity measurement
- An example of a peripheral manager and setting up a beacon
- An overview of Estimote beacons
- Simple code showing how to trigger messages on entering and exiting a region
What I’d love to see is how they resolve the issues of ‘toggling’ (Apple’s framework finds “nearest” but the results can be unreliable or variable), how you handle state changes moving back and forth in different proximity zones (we’ve been using timers, for example, to not ‘repeat’ a state change if the user recently did so but the experience takes a lot of tweaking), and recommendations on LocalNotification.
All in all, however, a great intro tutorial.
They add a comment at the end of the post about whether an SDK is a layer you necessarily want when you go out to get your first beacons:
“The only two negatives I found that personally I think that an custom SDK should not be used as an USP to lock in the customer and that they don’t plan to offer the ability to customize the UUID, however securely. Maybe they will see the light there eventually as well. At this moment these items can easily be worked around and the rest of the “package” is great value.”
On this point we agree: being locked in to a beacon supplier because of the way their SDK is set up is a non-starter in our opinion. In the tech world, companies come and go. Being force-marched to use a specific SDK when there’s a perfectly adequate one called iOS7 seems like a high risk to build a company or customer experience on top of – unless the additional value is significant (a robust fleet management system, CMS, analytics or other tools) – in which case you’re buying more than just a beacon, you’re buying a solution.
Jump Onto Our Mailing List
Let’s chat on Twitter! We have some good conversations. Or join our weekly mailing list for ‘BEEKn unplugged’ – I rant a little each Friday and share stuff that doesn’t make it on the site.
And finally, a little self promotion? Check out our flashy awesome company site if you need help creating a beaconized experience.
Be the Beacon!