The upcoming updates in iOS and Android will introduce considerable changes in the way permissions to use location data are requested, displayed and managed by users, which might affect your apps. Although you probably don't need to change much in your apps, it's important you read this post to understand what changes and how you can make sure your app is up to the task.
In iOS 13 and Android 10, both Apple and Google are changing the way apps use location data, most precisely how you request this information and how it is used after your app has been granted this permission.
Because our geo-fencing functionality depends on how your users share their location with your app, these new settings can affect the reach of your location based messages and campaigns. In this post we will provide some information about what you can do to minimize the impact of these changes.
What's new in Android
The new version of Android will introduce a new mode for apps that use location data. Pretty much like iOS 12, Android will now allow users to define if your app should collect location data only while it's being used or if it can use this data at all times. To accomplish that, Android is introducing a new permission dialogue which will be displayed right after the current rationale dialogue you are already using in your app:
This new dialogue will also give users the possibility to only allow location tracking when using your app. Because geo-fencing requires location updates when the app is not being used, users that choose this new setting will effectively stop receiving location messages when around your Geo-Zones. With this new change it is imperative that you provide a compelling text for the initial permission dialogue explaining the rationale why you always need to have access to location updates.
When users choose to not allow location updates (and not be asked again), you will not be able to request it anymore and any changes to this status have to be done in the device's settings. If on the other hand, users choose to allow only when in use, every time the app is used you can still retry and once again show a permission rationale that convinces your users to upgrade this status:
What's new in iOS
In this new version, iOS is basically changing the current flow of requesting location permission and how it is communicated transparently to the user. It is also allowing apps to start monitoring for Geo-Zones when users allow location updates while the app is being used. This means that the Always option which was available in previous versions is no longer displayed the first time location updates are requested.
Once users accept to share location data with your app while in use, your app will be able to already start monitoring for the nearest Geo-Zones and collect the current position. After this point, some hours after closing the app for the first time, iOS will prompt the user with the following dialogue:
Users have now to decide if they keep the while in use status or allow you to receive location data all the time. If you are using Geo-Zones, your app needs to receive this data all the time or new fences will never be loaded. The text in this dialogue is your app's only opportunity to display all the information the user needs to make this decision.
If the user chooses to allow location data to be collected all the time and your app starts to effectively receiving updates while in background, the following permission dialogue will be prompted every 3 days:
Once again, a compelling text for your permission dialogue is of the utmost importance, allowing users to better decide if you can or not use their location data to provide relevant notifications.
Conclusion
Although not any code changes are necessary in your app to support Android 10 and iOS 13 Location Services, it is a good idea that you review your current implementation and adjust the permission dialogue rationale if needed. Make sure you highlight the need for your app to access location data at all times in order for geo-fencing to work. This will become an essential step if you would like to keep engaging users in location based campaigns.
Also please be aware that if you decide to build your app to target Android 10, you will need to update to our upcoming Android SDK, which will be released as soon as Android 10 is out of beta. We will also release a new iOS SDK as soon as iOS 13 is released.
As always if you have any questions, we are available via our Support Channel to guide you further.