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.
In Estimote Monitoring, the default and most reliable protocol used in our beacons, regions are defined by beacon's identifiers as well as tags that you can set in the Estimote Cloud. As your deployment grows, you can create more and more tags and also merge and split them.
In iBeacon, regions are determined by the beacon's UUID, Major and Minor. There's a limit of 20 regions.
To learn more about 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 ofBeaconsManager 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 by device memory requirements, it is possible to carry out background monitoring to relaunch it. However, if the user killes the app background monitoring won't work.
Estimote Android SDK is publicly available on GitHub.