As a mobile geofencing and location SDK, HEROW relies on location data transmitted from the end user's device (combination of GPS, Broadband Network & Wifi connexion).
Therefore, to access information from the device's operating system, the SDK needs to request system permissions.
However, the HEROW SDK itself does not require additional permissions if your app is already using location services. In this case, it only uses accesses that your app requested previously.
Permission Types: An Apple vs Google snapshot
Depending on the core functionalities delivered by your app, you might have to access the user's location in the following scenarios:
Always: When the app is open & closed
These permissions will allow you to access the location anytime but this comes at a heavy price.
Apple will display the pop-up showing how many times your app has been using background location whereas Android (from 11+) will require your user to go to its settings and change the location to "always" (not possible to do it from any native system popup).
When Active: Only when the app is being used
ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION //Only when using the app
With foreground permission, both operating systems are much more forgiving and your users will only have to select between the two (while in use and once) active session permissions.
Once the permission is granted, the user won't be reminded that you are using the location permissions.
HEROW comes with a temporary background access permission type that can be used in specific scenarios (more information) and will display a blue banner on iOS and a persisting geolocation icon on Android.
How does HEROW behave with standard permission levels?
HEROW in its essence works with both Foreground and Background location types.
This means that regardless of the type of permission type, your users will generate positions and data on HEROW if they allow it.
However, HEROW isn't somehow magical and will not, for instance, generate geofence entries when the app is closed if the permission granted is in the foreground only or if the user selects "Once" or "While in Use".
Find below a couple of examples based on the permission type & answer selected by your users.
Full access - Background permission & "Always" access Granted:
ZONE_ENTER detection even if the app is closed.
Faster HOME, OFFICE, and SHOPPING context detection (because of more data points).
NOTIFICATIONS are sent when the user gets close to a place even if the app is closed.
Partial access - Background or Foreground permission & "While in use/Once" access granted
ZONE_ENTER detection when the app is open.
HOME, OFFICE & SHOPPING detection when the app is open.
NOTIFICATIONS are sent when the user is using the app.
No access - Background or Foreground Permission & "Never" selected
No location data will be sent from the user's device and we won't be able to use this user's data.
This usually represents a relatively low percentage as long as the use of location data is clearly stated and the value is explained.