- Proximity UUID
- Major and Minor values
- iBeacon identity and regions
- iBeacon identifiers in practice
- Points to consider for your iBeacon deployment
The proximity UUID (Universally Unique IDentifier), Major, and Minor parameters – together make up your Kontakt.io iBeacon profile's unique identifier, and are the key components of all Advertising packets continually transmitted by your Beacons.
Deciding how to configure these parameters, is a key consideration when thinking about your iBeacon profile deployment. Mostly it’s a matter of organization and convenience.
The purpose of the Proximity UUID is to distinguish iBeacons in your network, from all other iBeacons in networks outside your control. When you receive your Beacons, they will all have a common proximity UUID set, which will look something like:
Major and Minor values
Major and Minor are unsigned integer values between 1 and 65535.
Major values are intended to identify and distinguish a group – for example all iBeacons on a certain floor or room in your venue could be assigned a unique major value.
Minor values are intended to identify and distinguish an individual – for example distinguishing individual iBeacons within a group of beacons assigned a major value.
So an individual iBeacon identifier would be made up as follows:
Beacon identity and regions
Device applications monitors region, and a region can be one or more iBeacons. A region is specified using a single UUID and optionally, a major and minor value.
If we assign a single proximity UUID to many locations, our application can monitor all these locations simultaneously. This can have a big impact in reducing the complexity of your application.
iBeacon identifiers in practice
Ok, so we covered the basics. How might that affect our Beacon deployment strategy?
Let’s look at a museum group as an example, which has a network of four museums in distinct physical locations.
iBeacons are deployed to give visitors a rich interactive experience when they enter any of our museums, and provide users with information about individual collections as they approach each exhibit.
In our Museum Group example, we have assigned a single UUID to the group. A user’s device, can monitor our four physical locations using this single UUID. Our application ‘knows’ when the user has entered (or left) any of the museums in the group and notify the user appropriately just by referencing the UUID.
The major field, tells us which museum the user is currently in so your application can act accordingly – for example by offering event suggestions, maps, audio guides, or other content.
The minor field, can be used to identify entire collections within the museum, or the individual exhibits within the collection. Your application can use this level of granularity to provide tailored information for the exhibit, a more detailed gallery map, or perhaps an audio guide through the entire exhibit.
Points to consider for your iBeacon deployment
- Your Proximity UUID should generally be the same for all iBeacons for your organisation.
- Depending on your granularity needs, you could also (using our example) have each museum assigned with its own UUID. Just remember that UUIDs are meant to identify all the beacons you own, or at least very large groups of them.
- You have a limit of 20 regions that can be defined for your application (this is a current iOS limitation).
- A region can be defined by proximity UUID only, a UUID plus Major value, a UUID plus Major and Minor values. You can select the level of granularity you need.
- Your app is going to trigger a notification when a user enters or leaves a region, so ask yourself at what level you’ll need such notifications. We recommend using your Major values to define your regions.
- Remember that once you have detected that the user has entered a region, and focused their attention with a notification, your application can start ranging all Beacons in the region and provide detailed information back to the user.
- With iOS above 8 the Suggested App features will display your App icon on the lock screen of an iPhone/iPad device, when the user enters one of your regions, even if the your app is not running on the device.