Blog

Using iBeacons to Implement Indoor Location Based Notifications

At Plot we already get a high accuracy for location based notifications based on Wifi and cell tower triangulation. Our smallest range with good results is currently 50 meters, without any special hardware needed. Pretty accurate, but targeting only the users who get into your store isn’t possible. Apple recently announced a technology named iBeacon to make this possible. It, for example, makes it possible to alert your visitors that a new product that your user recently viewed in your app can be bought here.

What is iBeacon

An iBeacon is a small device that just broadcasts its presence over Bluetooth 4.0. Apps can register for updates on when the user gets near to these devices. The phone doesn’t have to pair or set up a connection to make use of its services. The iOS API also makes it possible to make an estimate on how close you are to specific beacons based on the signal strength.

Although Apple created the iBeacon specification, it isn’t specific for Apple devices. All devices that support Bluetooth 4.0 can be used to detect iBeacons. Support for iOS devices starts with iPhone 4S and 3rd generation iPad. Several Android devices also support Bluetooth 4.0 and thus the use of iBeacons, such as the Samsung Galaxy S3.

Each iBeacon has three characteristics that allows to distinguish between multiple iBeacons. How you use these three characteristics is up to you. The three characteristics are:

  1. proximityUUID: This identifier is the same for all devices you own.
  2. majorId: A number that identifies a group of related beacons. For example you could give all the beacons in the same store the same majorId.
  3. minorId: Another number to distinguish between your iBeacons. For example you could use this to distinguish between multiple beacons in the same store.

Multiple vendors started to sell iBeacons, but is also possible to use an iPhone or an iPad as beacon. Since iBeacons don’t consume much power, they should last more than a year on a battery. Using an iPad may be convenient when you are already using iPads in your store or just want to test that your app works. Although most Android devices can detect iBeacons, they cannot be used as beacons themselves.

How to test with an iPhone/iPad

We have added beta support for iBeacon to our iOS plugin and our dashboard. Download the latest version of our plugin and you can test it yourself immediately. The download includes an example project where you only have to change the public token to get up and running. You can get your own public token in your dashboard. Our free account allows you to define five beacons, which will be more than enough to test with.

Managing beacons and ibeacons
How to configure beacons in the PlotProjects Dashboard

Managing your iBeacons from our dashboard is straightforward. You specify the proximityUUID for your account, so you don’t have to specify it again for every iBeacon in our dashboard. Instead of specifying the location as you would with a geofence, you specify a majorId and optionally a minorId. We allow to specify three distances: immediate (less than 1 meter/3 feet), near (around 2 meters/6 feet) or far (around 30 meter/100 feet).

You can turn your iPhone or iPad into a beacon too. We provide an example project on Github. To try it out you can download the code and directly put it on your device. The configuration for the iBeacon is in Beacon.m. The app will start with asking permission to broadcast and will start immediately as beacon. Due to limitations in iOS you have to keep the app in the foreground.

Geofencing vs iBeacons

Since our library provides both, you may ask which you should use. Both Geofencing and iBeacon:

  • Continue to work when your app is in the background. The service continues even when the user has pushed the app to the background or removed it from the app switcher.
  • Are battery efficient. The increase in battery usage won’t be significant. The operating system optimizes when multiple apps makes use of this technology.

Differences are:

Geofencing

  • Works on iOS 5 or newer
  • Works on iPhone 4 or newer
  • Optimized for outdoor, radius between 50 and 50000 meters
  • Requires no special hardware
  • Requires WIFI to be enabled for high accuracy (no connection to these access points is required)

iBeacons

  • Works on iOS 7
  • Works on iPhone 4s or newer
  • Optimized for indoor, maximum range 30 meters
  • Requires special peripherals or iPhone/iPad as beacon
  • Requires Bluetooth to be enabled

Of course it is possible to combine both geofencing and iBeacon in the same app.

I hope this was a nice introduction on using iBeacon with Plot. If you have further questions or have some other comment, please let us know.

Spread the love

Want to learn more?