Smartphones use a combination of sensors to estimate current position, depending on its availability. Specifically:
- Cellular networks
MOCA SDK does not use GPS directly, as this is a high battery consuming resource and it does not work indoors. MOCA relies on other parameters for the location.
This is is the main source of data that mobile devices use to calculate their position. Error margin is about 20 - 50 meters (65 -165 feet), is very fast and it is battery friendly.
This technique does not require the device to be connected to a Wi-Fi network, by having the Wi-Fi chip enabled, mobile phone is able to fetch nearby Wi-Fi networks and estimate its position.
In locations where there are no Wi-Fi networks (e.g. rural areas), mobile devices rely on information relative to the nearby cell towers to determine its position. This is a battery friendly method, but does its precision is low. For example in Android:
- When Wi-Fi location is not available (for example, when you are driving in rural areas) the location accuracy degrades. The accuracy range can be as large as several hundred meters to several kilometers. In cases like this, you should create geofences using a larger radius.
- In order to maximize detections, create geofences with a minimum radius of 100m in urban areas and much larger in rural areas (or use Bluetooth Beacons).