APP授权设计:如何让用户不反感并同意授权

产品经理就业班,12周特训,测、练、实战,22位导师全程带班,200+名企内推,保障就业!了解详情

授权机制,是手机操作系统安全机制中的一部分,在开发应用时需要用到各种各样的手机系统权限。那在我们的APP中,它的授权该如何设计,才能让用户同意授权,或者不反感授权呢?

本文大纲图:

一、认识授权

1.1 什么是授权

授权机制,是手机操作系统安全机制中的一部分,在开发应用时需要用到各种各样的手机系统权限。

一般来说,在操作系统中权限会被分类,有些权限级别较低,应用只需在开发时声明即可使用;而与用户有关的权限级别都非常高,需要用户亲自授权才可以。

我们的产品中的功能经常会涉及到这些权限,为了能使应用正常使用,从而给用户带来更好的体验,我们希望用户都能授予我们相关权限。

1.2 需要用户授权的权限有哪些

iOS需要用户授权的权限有下面两种:

①涉及到用户隐私的权限:

②系统服务权限:

  1. 无线网络与蜂窝数据(iOS10以后加入,中国大陆特有的权限)
  2. 通知权限
  3. VPN
  4. 键盘

……

两种权限的区别:

涉及到用户隐私的授权弹窗中,可以添加简短的自定义的向用户解释说明的语句;而系统服务权限弹窗不可以添加说明,有系统的固定提示语。

注意:

  1. iOS应用需要使用iCloud服务时,如果用户已经在iPhone上登录了iCloud,则不需要用户授权可以直接使用。
  2. 使用TouchID,FaceID也不需要用户授权,可以直接在应用中开启。

Android中需要用户授权的权限:

Android6.0后有普通权限和危险权限之分,需要用户授权的权限是危险权限。危险权限共有9个权限组,每个权限组又包括若干子项,在授权时只要用户对一个权限组的任意一个子项授权,则整个权限组都被视为授权。

9个权限组分别为:日历、相机、通讯录、定位、麦克风(用于录音)、电话(一般用于读取本机识别码)、传感器SMS(短信)、存储。

iOS与Android权限的区别:

在iOS和Android中对不同的权限需不需要用户授权,划分不一样。

比如:iOS中最常见的通知权限和网络权限,都需要用户授权才能使用;而这两项权限在Android中则不需要用户授权,所以Android手机总是有很多弹窗,还有相册权限在Android中,也是不需要授权的。

具体两者有何区别,可以结合上面给出的图自行对照,总的对比下来感觉iOS对于用户的保护是更到位的。

要注意的是:像我们刚才所说的网络访问和通知权限,并没有在Android列表中列出,但这不代表Android中没有这两个权限,只是不需要用户授权而已。

知道了iOS和Android的权限区别后,我们在设计时就知道同一项权限,需不需要针对两个系统分别做设计了。

1.3 常用授权

  • 第一梯队:网络,通知,位置;
  • 第二梯队:通讯录,相册,相机,麦克风等。

Android和iOS的常用授权都一样,只不过Android不需要网络和通知权限,不需要授权相册。

1.4 iOS和Android在设计授权时的区别

(1)在Android中所有的系统授权弹窗,都是不能添加说明的;而在iOS中涉及到用户隐私的权限,在请求授权时都可以添加简单的说明。

看似区别不大,但是对于用户的体验来说,iOS显然更胜一筹。

(2)Android的系统授权框可以出现多次,第一次用户进入应用后,如果没有授权给应用的话,那么下次当用户再次进入应用时,应用还可以调用系统授权框,让用户授权。

在iOS中系统授权框自始至终只会出现一次,如果用户点击不允许授权,则以后只能通过给用户提供去设置按钮,让用户自行打开权限开关。

使用系统授权框让用户授权的好处:

通过系统提示框让用户授权,用户只用点击一下就可以授权成功,而通过去设置去开启权限步骤,会需要用户经过两三个步骤才能开启,比较繁琐。

如果没有让用户在第一次授权成功,以后让用户授权成功的可能性更低,所以我们需要珍惜第一次机会,争取让用户一次性授权成功。

虽然Android可以在下次用户进入应用时,再次调用系统授权框,可是如果用户第一次都不给你授权,以后又凭什么给你呢?

所以不管是iOS还是Android,在第一次弹窗出现时,拿到用户的授权都是非常重要的

(3)Android阵营中不同手机厂商的系统,在授权时的机制都不一样。

比如:作为Android系统危险权限的存储权限,在oppo的ColorOS系统中就是向所有应用开放的,不用通过用户的授权,还有弹窗弹出次数的限制等。

在oppo中竟然可以一直给用户弹出授权框,知道授权成功为止,如果进一步为了用户体验的提高,我们可以为不同的手机厂商做定制化处理。

本文中按照适合大部分安卓手机的情况做介绍。

1.5 为什么要让用户给我们授权

我们设计的应用中,往往一些功能需要用户给予相应权限,才能正常运行,这样才能为用户正常服务,给用户带来良好的体验。

1.6 用户授权过程中存在的问题

  1. 很多应用,会向用户申请一些与功能关系不大的权限,导致用户对所有软件的信任度很低;
  2. 应用拿到通知权限以后为所欲为,经常向用户发一些广告,没用的信息,骚扰用户;
  3. 应用在向用户申请权限的时候,没有说清楚需要权限做什么用。

这些因素导致了我们真正需要一些权限的时候,用户不再信任我们;导致我们软件中的正常功能获取不到权限,不能为用户提供良好的体验。

二、如何针对授权做设计

第一步:确定应用中需要用到哪些权限

梳理一遍应用中的功能,或者和开发沟通,确定我们都需要哪些系统权限,我们需要做到下面两点:

  1. 确定这些权限确实需要,不去获取多余的权限;
  2. 确定哪些要为iOS设计和哪些要为Android设计,还是都要设计。

第二步:针对每一个权限做下列设计

1. 设定系统弹窗弹出时机

在第一次打开应用时申请权限的劣势:

  • 用户对应用的信任感在一开始是最低的;
  • 一开始缺乏关联场景,用户不知道你要授权干什么。

(1)接下来看看什么样的权限,应该放在第一次打开应用的时候去申请?

1)网络权限(Android不用设计)

在进入时获取网络权限,这没什么好说的,没有网络权限我们什么也搞不了,直接调用系统授权框即可。

2)通知权限(Android不用设计)

这里我的建议就是,对于那些有过硬理由的通讯类应用来说,是可以在一开始请求获取通知权限的;对于没有过硬理由的应用来说,尽量找出那些用户需要用到通知服务的场景,在那时再弹出授权框。

原因:刚才说到了,在一开始去请求授权有两个劣势;但是对于那种有过硬理由的应用来说,不在一开始申请到的话,会对应用有比较大的影响。

而第二个问题对于这种应用来说不用担心,对于没有过硬理由的应用来说,不申请到通知权限也不影响主要功能,所以没必要冒风险在一开始去申请。且等到用户遇到了需要被提醒的场景,再弹出授权框,肯定比一开始没有关联场景去申请要强得多。

3)没有就会影响到正常使用的权限

比如:对于照相类应用,如果在一开始没有拿到相机权限,那么进入应用后就会是黑屏,所以拍照权限就应该放到一开始去获取。

注意:对于这种应用来说,获取相机权限就够了,相册权限也不要放到一开始去获取。

再举个例子:百度云网盘在第一次打开时,也会提示你授予通讯录权限,为什么呢?因为百度云要帮你把通讯录信息同步到网盘中,如果不给权限的话,就没法同步。当然你也可以选择不同步通讯录,所以也会在一开始去向用户申请。

(2)使用到相关功能时

刚才我们已经解决了,哪些功能需要放到第一次打开应用的时候去申请。那么除了这些权限,剩下的就是属于:在用户使用到相关功能的时候再去申请的权限了。

这些权限大部分都和授权场景有比较强的关联性,放在特定的授权场景触发是更好的选择。但这里也不是说,放在后面弹出弹窗的权限,一定都有比较强的场景关联性。

最主要的是:如果你没有过硬的理由放在前面弹出,那就放在后面弹出吧。

对于这类权限,这时候我们需要做一件事——找出需要用到这些权限的所有功能的触发点。

比如:对于相机权限,那么触发场景有可能是拍照,有可能是扫一扫,触发点就是点击拍照按钮的那一刻,点击扫一扫按钮的那一刻,在这些触发点中,都要能出发授权弹窗。

2.是否需要pre-permission

(1)什么是pre-permission

pre-permission简单说就是预授权,在系统授权弹窗出现以前,先弹出我们的自定义弹窗,甚至是页面。我们可以用我们的自定义弹窗,来测试用户是否想给我们授权?

如果用户点击了我们自定义弹窗中的授权按钮,我们再弹出系统授权弹窗,如果用户不想在此时授权,则我们可以在后面合适的情况下,再次让用户给我们授权。

这样相当于加了一层保险,只有当用户想给你授权的时候,才弹出系统授权弹窗,避免了用户点击了系统授权框的不允许后,造成再次授权的成本增高的问题。

(2)pre-permission这种设计方式出现的背景

这个方法出现在iOS早期版本,那时的iOS系统权限管理方面,没有现在这么完善。当用户关闭了系统的授权框后,如果需要再打开相关权限,就只能通过手动去设置页自己开启权限,整个过程需要五六个步骤,大大提高了用户的开启成本。

如果用户在第一次拒绝了应用的授权请求时,如果再想让用户打开相关权限就非常困难。

(3)pre-permission有什么用

现在的iOS系统,在用户拒绝授权后,我们可以在下次出现的自定义弹窗中加入去设置按钮,用户只需要两三步就可以授权成功。

最重要的是:以前用户很容易找不到在哪里去开启权限,而现在我们可以直接将用户引到到授权页,用户点击授权即可。可以说有了去设置这个按钮后,用户再次打开权限的成本大大降低,而pre-permission当初出现的原因,正是为了解决再次打开权限的成本高的问题。

那么是不是说pre-permission这种方式已经过时了呢?

答案当然是:没过时。

首先虽然现在的再次授权成本大大降低,但毕竟还是没有系统授权框的授权体验好。

但是最重要的不是这个,最重要的是:当用户不能很好的理解我们为什么需要授权的时候,我们可以在预授权的提示框中加入详细的说明,从而达到用户给我们授权的目的。

(4)接下来我们看哪些权限需要pre-permission

其实大部分的权限获取,通过系统自带的授权框都能解决问题。

比如:相机、相册、定位等。

这些权限的特点是和授权场景的关联性很强,只需要简单的文字用户就能理解我们需要权限干什么;用户理解后一般就会授予我们权限,如果用户不给我们权限的话,就不能使用相关功能。

比如:他要修图,却不给我们相册权限,之后当用户发现没有权限不能修图后,自然会给我们权限,所以这些权限一般不用担心。

比较特殊的是通知权限和通讯录权限。

我们先来说通知权限。

先说结论:如果通知权限对应用影响很大,一定要加pre-permission。如果通知权限只是给用户提供一种便利,没有也影响不大。比如:淘宝、京东这些,可加可不加。

原因:通知权限几乎是每个应用都想拿到的权限,对于有些应用来说,通知权限是一个很重要的权限。

比如:通讯类软件,消息需要实时的传达给用户,如果没有通知权限,对于应用的影响是非常大的,这类应用比较少。

而对于其他应用来说,通知权限只是为了增加用户体验的一个方式而已,拿到最好,拿不到也无关痛痒。

还有些应用拿到通知权限,就是为了给用户发一些没用的信息,而不考虑用户的感受,这种应用很多,拿不到也就算了。

于是这就造成了一个问题:现在的用户一般都不想给应用通知权限,用户的感觉就是给了通知权限就会被不断的弹窗骚扰,再加上很多应用,都是用户刚一打开应用就让用户授予通知权限。而iOS中的通知框又不能添加说明文字,不能向用户说明应用获取通知权限的目的,所以大部分用户很多时候一看到通知权限就会下意识的不授予。一旦用户不授予通知权限,我们也不能像相机、相册、定位这样的权限一样,通过不让用户使用相关功能的方式,来再次提示用户去打开权限。因为即使没有通知权限,应用一定是可以正常运行的——于是拿到通知权限变成了一件非常难的事。

关键的问题是:有些应用拿不到就拿不到了,而对于有的应用的影响是非常大的,甚至是致命的。这些应用不会去骚扰用户,但是也被用户误解了。

所以对于这种应用来说,就需要一种方式来避免被用户误解,向用户说明需要通知权限去做什么,尽最大可能性拿到通知权限,那么pre-permission也就再次派上了用场。

再来说说通讯录权限。

结论:不管什么应用,在申请通讯录权限时,最好都加上pre-permission

原因:在所有的权限中,哪个权限是用户感觉最涉及隐私的——大部分用户都会认为是通讯录权限。

除非你的应用像微信,QQ这类让用户有足够安全感的应用,否则一般情况下用户都不会随便授予你通讯录权限。现在用户动不动收到诈骗短信,诈骗电话,谁知道是不是你们这种不靠谱的公司泄露出去的。

即使是大公司,现在都不能让用户放心了,最近爆出的Facebook泄露用户个人信息很好的说明了问题。

所以获取通讯录权限也比较难,通讯录权限和通知权限有些地方很像,如果用户决定了不授予你通讯录权限,你之后再想获取到这些权限就比较难。所以对于通讯录权限来说,通过pre-permission的方式来获取也比较好。

对于其他权限的来说,如果你想更加充分的向用户去说明也是可以用的,这里就不再多说。

(5)在Android中怎么设计

Android中的弹窗都不能添加说明文字,是不是就应该都添加pre-permission呢?

实际上不是。

首先在之前我们说到过,Android中的系统授权框可以不止一次的弹出来(下次进入应用时),所以用户再次授权成本更低。

其次,大部分的授权我们也提到过,像:相机、相册、定位这种,用户已经被各种应用教育的非常好了,基本都会给你权限,不给的话相关功能也用不了。

所以实际上在Android中和iOS中情况差不多,主要针对通知和通讯录权限来使用pre-permission,但是Android中通知权限不用通过用户授权,所以我们只要在申请通讯录权限的时候加上pre-permission即可。

3.拒绝后怎么办?

(1)pre-permission被拒

添加了pre-permisson也不是万能的,也会被用户拒绝。

而通知和通讯录权限,不像定位,相机权限,可以在用户进入相关页面时提示功能不能用。

若要使用相关功能就得打开权限,对于这种情况我们怎么办呢?

拿通知举例,我们就要在用户需要被提醒的时候,来提醒用户打开通知。如果用户真的需要被通知,那么自然会授予我们权限。

如果是通讯录呢?

那就在添加好友的时候提醒,要注意的是这种提示不是用弹窗的方式,这样有骚扰用户的嫌疑。

(2)网络授权框被拒

用户关闭了网络授权后,系统会在下一次用户进入应用时,自动弹出已经关闭网络权限的提示框,应用只需按照断网情况处理即可。

西瓜视频在断网后为用户分析了不同的可能性,并且在检查网络权限这里添加了设置按钮。用户可以很方便的检查网络是否关闭,这样的设计可以说是非常棒了,大多数的应用在断网后的设计都没有这么细致。

(3)系统授权框被拒

在用户拒绝我们后,立即提示用户若要使用相关功能就得打开相关权限,并且在该权限的每个触发点都加入弹窗提示,同时给用户一个去设置的按钮。这里要注意的是,用户点击去设置后,要直接将用户送到应用的授权界面,不要让用户去找。

提示的方式有两种:有弹窗提示、也有整页提示。

如果你需要授权的功能,不需要占用整个页面就用弹窗提示,如果该功能需要占用整个页面,那么就用整页提示。

4. 提示文案

首先,iOS中网络授权框和通知授权框中的文字是固定的,不能自定义。

(1)pre-permission中的文案

由于pre-permission的优势,我们可以充分的向用户说明:

  1. 结合图片文字的方式说清楚我们要获取这个权限做什么用?
  2. 如果你不给我们权限会怎样?
  3. 打消用户的疑虑,如果是通讯录权限就说明白我们不会侵犯你的隐私,您可以随时关闭该权限;如果是通知权限就说明白我们不会骚扰你,前面给出的VUE的预授权弹窗中,就专门强调了不会打扰用户,这点很好。

(2)第一次iOS系统授权提示框出现时的文案

说明白,如果不给我们权限你将不能使用什么功能,个人认为“你不能做什么”这种方式要比“我要为你做什么更好”。

(3)被拒绝后提示框中的文案

您还尚未开启某权限,所以不能使用该功能,请开启权限。

总结

这篇文章写得比较长,希望的是大家看完后不光知道怎么去设计App授权,更知道为什么这么设计,这样当遇到不同的情景的时候才能灵活处理。

最后我们以一个例子来收尾

假设我们的应用是一款小视频类软件。

第一步:找出所有应用中用到的权限,分为iOS需要的授权和Android需要的授权

  • 针对iOS:要用到的权限有网络、通知、相机、相册、麦克风、定位。
  • 针对Android:要用到的权限有相机、相册、麦克风、定位、存储权限。

第二步:针对每一个权限做设计

接下来我们以iOS下的相机权限为例:

1)什么时候弹出?

用户点击录制视频时弹出。

2)要不要pre-permission?

不要,所需权限与场景关联性很强,利用系统提示框中的自定义文字即可。

3)如果用户拒绝了怎么办?

点击拒绝后和下次进入时,利用整页去提示用户,并添加去设置按钮。

文案:(简单示范,大家可以写的更好一点)

  • 第一次请求用户授权时:如果不授予相机权限,您将不能拍摄视屏。
  • 拒绝后提示用户时:由于您还未授予相机权限,暂时不能录制视频,请开启权限。

这样一个权限的设计就完成了,可以去绘制原型图了,相册、麦克风、定位权限的设计和相机权限的设计基本雷同,通知权限就当成作业让大家去设计了。

彩蛋:

如果大家觉得我写的还不错的话,希望大家能给我点个赞支持一下,让我看看有多少人支持我好吗?

以后持续为大家带来干货,这里要提前预告一下,最近会出一个很厉害的干货,相较于这两篇文章来说,这两篇文章只是开胃菜,哈哈,所以赶紧订阅我吧。

干货没看够点这里:5000字,总结App加载设计

 

本文由 @一点优秀 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自 Unsplash ,基于 CC0 协议

赞赏是对原创者的最大认可
5人打赏
评论
欢迎留言交流
  1. 干货,没说的,订阅+收藏,兄dei。

    回复
  2. 这是我见过的最详细的授权总结。不过还有未考虑到的边界情况,就是用户第一次访问APP的时候(针对IOS),如果手机未打开无线局域网和蜂窝移动网络,这个时候网络授权是不会弹出的;同样,如果手机GPS定位未打开,不过这个是有解决方案的,先引导引用户开启GPS开关。

    回复
  3. 喜欢你的分享,有深度和广度,获益良多

    回复
    1. 感谢你的评论, :smile:

      回复
  4. 你好,我是图书策划编辑,看了你所有的文章,想和你约下稿件,方便的话可以加下我的微信18211086848具体沟通一下

    回复
  5. 写的不错,有公众号吗,可以关注一下

    回复
    1. 没有的哈,一般文章会发表在这里的

      回复
  6. 很棒~ 作者能加微信吗?

    回复
    1. 可以加QQ :smile:

      回复
    2. 1325004866,辛苦咯

      回复
    3. 说你的QQ我加你

      回复
  7. 一点优秀,你真的很优秀,我只收藏了两篇文章,都是你写的,期待你的下一篇

    回复
    1. 看到你的评论就可以让我开心一天,接下来还会有好文章的~ :mrgreen:

      回复
  8. 写的很好,获益!

    回复
  9. 不错不错,尤其是分析了预授权

    回复
  10. 好文

    回复
  11. 不是说安卓不需要获取相册权限吗,怎么后来的部分又写到针对安卓系统有相册权限呢

    回复
    1. 看的很认真,确实是笔误了,不用设计相册权限

      回复
    2. 整理思路值得学习

      回复
  12. 学习了

    回复
  13. ;-)

    回复
  14. 可以可以可以。我感觉可以说的在简单直白一些,其实内容不错,就是过于冗长

    回复
    1. 如果我光说怎么设计,不说为什么就短了,但是我觉得说的全面一点对于大家的帮助可能更大 :cool:

      回复
    2. 那你可以把情感化设计在融进去,这样就更全面了

      回复
    3. 有道理哈,没想到呢,给你点赞

      回复