iOS limit to monitoring regions

beacon-enabled apps detect beacon regions, rather than individual beacons.

As opposed to common understanding of regions, a beacon region is not defined by any geographic properties, like GPS data or latitude and longitude. Instead, it’s characterized by the same three values as beacons: UUID, Major and Minor

Defining regions

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 1.
  • With UUID, Major and Minor: it consists of only a single beacon (keep in mind that Estimote Cloud prevents having two beacons with the same ID’s). For example, one with default Estimote UUID, Major set to 1 and Minor set to 1.

Monitoring enables you to detect movement in-and-out of range of the beacons

Ranging gives you the exact list of beacons detected in a given region, together with an estimated distance from the device to each beacon.

Contrary to monitoring, ranging works only when the user is actively using your application.

Regions are a shared system resource, and the total number of regions available system wide is limited. For this reason, Core Location limits to 20 the number of regions that may be simultaneously monitored by a single app.

Permissions ranging: Access Your Location While You Use the App monitoring: Access Your Location Even When You Are Not Using the App

iOS sets a limit on how many regions can an app be monitoring for at once: 20.

As for Android: no, it doesn't have a limit for the regions to monitor.