My Geofences aren't working on Android
Here are some of the best practices to help improve Geofence accuracy...
- Make sure that the Geofence is enabled. (Settings -> Automatic Status Updates -> Geofences -> GEOFENCE_NAME). This must be done on each device. There is no way to enable the Geofence for other users without doing it on the device.
- WiFi must be turned on. It may seem weird, but the low power location management that Geofencing uses is actually primarily based off distances from WiFi signals.
- Go to your device's Settings, navigate to your Location Settings. Make sure that your phone's Location is turned on and also in High Accuracy Mode.
- Make sure you have Enhanced Geofence Accuracy enabled. (Settings -> Automatic Status Updates -> Geofences -> Enhanced Geofence Accuracy)
- Newer devices put applications to sleep if they haven't been opened in a while. It is difficult to determine if your device has a setting for this or not. You will have to look through your phone settings to see. For example, the latest Samsung devices use the Smart Manager to put our app to sleep. To add our app to the unmonitored list on a Samsung, go to Settings -> Battery -> Unmonitored Apps -> then add Simple In/Out to the list.
- Keep a close eye on your notifications. If a status update does not go through (for example, if you lost internet connection during the status update), we will send a notification to your phone warning you that we made an attempt to update your status but it did not go through. If you notice that your status is not being updated on the Board, watch for failure notifications when you cross the boundary.
- The phone must have mobile data. Geofences will not work without an internet connection.
- The phone must NOT be in Airplane Mode. Airplane Mode will disable both WIFI and Location.
- Avoid using 'Power Saving Mode' while using Geofences. The Geofences will be a lot less consistent while Power Saving Mode is turned on (as it will automatically lower your location accuracy).
- Avoid using 'Task Killer' apps on your phone. Task killer apps can potentially kill the background processes that monitor the Geofences. Any application that has the ability to kill, stop, or sleep our application may prevent Geofences from working.
- Avoid installing Simple In/Out to the SD card. Geofences are disabled when the device is turned off and we re-enable them when the device is turned back on. On some devices, we are not able to re-enable the Geofences when the device is restarted if the app is installed to the SD card.
- Make sure that the Geofence is in exactly the right location. If the center-point of your Geofence is off, you will get inconsistent results. (For example, if you placed the Geofence slightly off and it was actually monitoring the building next door, it will appear to be working very poorly for you).
- Keep in mind that Geofences work on a boundary-crossing basis. The Geofence is NOT constantly monitoring your location. Your status will only be updated when you cross the Geofence boundary going IN or OUT. (For example, if you have your device turned off and you exit the Geofence - when you turn your device back on, it will not check you OUT. The device must be running when crossing the boundary.)
- We have had reports of inconsistency with Geofences while using Google Fi as a service provider.
- If you're an Administrator, increase the radius of the Geofences. Low-powered location does not have perfect precision. Often times the Geofences radius is set too small and the device never realizes it has entered the small Geofence. If your Geofence radius is too small, you may potentially check IN and OUT multiple times a day (when you aren't even moving). The low-powered location just isn't accurate enough to keep you in the small Geofence radius.