Apple’s iBeacon protocol introduced the concept of a beacon region. It’s important to remember that beacon-enabled apps can detect beacon regions as well as individual beacons.
As opposed to the common understanding of regions, a beacon region is not defined by any geographic properties, like GPS data or latitude and longitude. Instead, in iBeacon a region is characterized by the same three values as beacons: UUID, Major and Minor (read more about them here). In Estimote Monitoring, regions are defined by common tags of multiple beacons or by beacon identifiers. Therefore, the physical representation of a region is the range of all beacons in this region.
Defining regions
There are two ways to define a region, depending on the protocol you use.
In Estimote Monitoring, defining a region is fairly straightforward. You simply add specific tags to beacons (e.g. Stores_in_NYC, Checkouts, Shampoo_shelfs). You can then define specific enter/exit actions to be performed for each of the tags. You can also set a region based on particular identifiers of beacons.
In iBeacon, it's a bit more complex. Beacon region can be defined in three ways:
- With only UUID: it consists of all beacons with a given UUID. For example: a region defined with default Estimote UUID would consist of all Estimote Beacons with unchanged UUID.
- With UUID and Major: it consists of all beacons using a specific combination of UUID and Major. For example, all Estimote Beacons with default UUID and Major set to 13579.
- With UUID, Major and Minor: it consists of only a single beacon (Estimote Cloud prevents having two beacons with the same IDs). For example, one with default Estimote UUID, Major set to 13579 and Minor set to 2468.
In Estimote SDK, beacon region is represented by the object CLBeaconRegion.
Region Monitoring and Ranging
There are two methods for mobile apps to detect and interact with regions and beacons within these regions. Monitoring allows triggering notifications based on entering and exiting region while Ranging measures proximity to beacons in this region. For a more detailed description of those two methods read:
What are region Monitoring and Ranging?
Is there a limit to how many regions an app can be monitoring?
There is almost no limit to how many beacons can be included in a single region (technically, it’s over 4 billion). But it’s important to note that iBeacon sets a limit on how many regions an app can monitor at once: 20. In Estimote Monitoring, the number of regions isn't limited in any way.