Important: This guide describes the “monolithic” Estimote SDK, from Estimote/iOS-SDK. The proximity detection features in that SDK are now obsolete in favor of the new Estimote Proximity SDK, available at Estimote/iOS-Proximity-SDK and Estimote/Android-Proximity-SDK
Region Monitoring is a basic way for apps to interact with beacon regions. It allows for detecting when a mobile device enters or exits the range of beacons in a particular region. Your app can then perform any predefined action such as displaying content, prompting a payment, or recording a visit.
With iBeacon, regions are determined by the beacon's UUID, Major and Minor. There's a limit of 20 regions.
To learn more about iBeacon region monitoring, read the following articles:
Monitoring in the background on Android
Apps can use startMonitoring method of BeaconManager class to start Monitoring for regions. Monitoring updates arrive at a mobile device registered with the setMonitoringListener method of BeaconsManager class.
Monitoring is designed to perform periodic scans in the background. By default, it scans for 10 seconds and sleeps for 30 seconds. Therefore, it can take up to 40 seconds to detect an enter/exit event in the region. You can change the scanning frequency via BeaconManager’s setBackgroundScanPeriod.
Keep in mind that if the app is killed due to a device's memory requirements, it is possible to carry out background monitoring to relaunch it. However, if the user kills the app, background monitoring won't work.
In the Proximity SDK (iOS & Android), with Estimote Monitoring - the default and most reliable protocol used in our beacons - regions are called zones and are defined by tags that you can set in the Estimote Cloud for one or multiple beacons. As your deployment grows, you can create more and more tags, as well as merge and split them.