移动智能设备的快速普及,给生活带来巨大的精彩,但是智能设备上用户的信息数据很多,隐私数据也非常多,各种各样的app可能通过各种方式在悄悄的收集用户数据,而用户的隐私就变得耐人寻味了。比如之前的可以无限制的读取用户的联系人数据、短信记录、通话记录等,这些信息一旦泄露,可能就会造成重大财产损失。腾讯社会研究中心和DCCI互联网数据中心日前发布《2017年度网络隐私安全及欺诈行为研究分析报告》,《报告》显示,98.5%安卓手机APP存在获取用户隐私权限问题,iOS应用获取用户隐私权限也达到81.9%。用户从来无法感知这些数据收集行为,也发确定行为会触及到隐私数据,而为了保护用户隐私,谷歌android6.0加入了隐私信息获取的权限申请。其主要的目的就是在涉及到需要使用隐私数据的时候,进行权限申请。制定的权限策略分为两类:第一类是不涉及用户隐私的,只需要在manifest中声明即可,比如网络,蓝牙,NFC等,第二类是涉及用户隐私信息的,需要用户授权后才可使用的,比如SD卡读写,联系人,短信读写等等。
接下来我从当前市场上一线大厂的应用进行分析对比,主要是淘宝、京东、网易新闻、今日头条、哔哩哔哩、腾讯新闻,分析和对比的维度从启动权限申请数量、运行权限申请、交互提示等方面进行。
1.启动权限申请
app | 启动权限申请 | 说明 |
淘宝 | 电话权限 | 不授予电话权限无法进入应用。 当选择不授予权限,则程序在获得操作结果以后继续申请,当选择不再提示,引导进入设置页面进行开启权限。 |
京东 | 电话权限 | 不授予电话权限无法进入应用。 当选择不授予权限,则程序在获得操作结果以后继续申请,当选择不再提示,引导进入设置页面进行开启权限。 |
网易新闻 | 无 | 进入首页以后申请, 电话权限 存储权限 位置权限 禁止也不影响应用正常使用,下次启动的时候还会继续申请未授权的权限。当选择不再提示,则在下一次启动应用时引导用户进入设置页面进行开启权限。 |
今日头条 | 电话权限 | 不授予电话权限也可以进入应用,选择禁止下次启动应用会继续申请,当选择不再提示,下次启动应用不提示。 |
哔哩哔哩 | 无 | 直接进入应用 |
腾讯新闻 | 无 | 进入应用后进行申请位置权限和电话权限 |
从启动权限申请来看,淘宝、京东作为电商派app,作风比较强硬,不授权则无法进入应用,相对来说,新闻类app这方面就做的比较好,其中网易新闻和腾讯新闻比较突出,腾讯新闻申请的数量比较少。而哔哩哔哩的实现是最理想的,启动到进入应用全程无申请,而是到了具体使用的时候在申请这一轮比较哔哩哔哩胜出。
2.所有敏感权限比较
app | 所有权限 | 说明 |
淘宝 | 存储 位置 日历 电话 相机 通讯录 麦克风 | |
京东 | 存储 位置 电话 相机 通讯录 麦克风 | |
网易新闻 | 存储 位置 电话 相机 通讯录 麦克风 | |
今日头条 | 存储 位置 电话 相机 通讯录 麦克风 | |
哔哩哔哩 | 存储 位置 电话 相机 麦克风 | |
腾讯新闻 | 存储 位置 电话 相机 通讯录 麦克风 |
从涉及到的主要权限来看,淘宝的权限数量是最多的,多了一个日历的权限,说明淘宝有一些业务需要在对应日期进行的必要操作,涉及到对日历的修改。其他的app权限申请大同小异,部分需要通讯录的权限,可能涉及到用户账号的问题,应该是有和手机厂商合作,可以使用android系统的账号登录,这种业务合作能力也不是一般的app所能具备的,与此同时肯定还有类似白名单的业务合作也是同样情况。其中又可以对比的出来哔哩哔哩真的是良心作品,没有那么多的权限,精简实在。
3.运行时权限检查比较
这里选取一个场景就是拍照的相机权限作为比较。
应用 | 交互 | 说明 |
淘宝 | 点击二维码扫描,弹出系统权限申请,选择禁止相机权限,再次点二维码扫描,仍然会提示申请,但是如果勾选不再提示,则会闪一下一个白色页面,交互不理想。见图1 | |
京东 | 点击头像,首先弹出自定义的框进行一些说明,然后点击下一步,才进行系统权限申请。党选择禁止,再次点击头像,仍然会提示申请。如果勾选不再提示。则会引导用户进入设置页面。 | |
网易新闻 | 点击头像,首先弹出自定义的框进行一些说明,然后点击下一步,才进行系统权限申请。党选择禁止,再次点击头像,仍然会提示申请。如果勾选不再提示。则会引导用户进入设置页面。 | |
今日头条 | 点击头像,首先弹出自定义的框进行一些说明,然后点击下一步,才进行系统权限申请。党选择禁止,再次点击头像,仍然会提示申请。如果勾选不再提示。则会引导用户进入设置页面。 | |
哔哩哔哩 | 点击头像,首先弹出自定义的框进行一些说明,然后点击下一步,才进行系统权限申请。党选择禁止,再次点击头像,仍然会提示申请。如果勾选不再提示。点击无交互或者提示。 | |
腾讯新闻 | 点击头像无反应,这个牛逼了 | 我猜是个bug。。。。 |
从交互设计上看,京东、网易、今日头条的处理是最好的,在进行权限申请的时候最好加一个自定义的提示弹窗,给用户知情权,虽然还是有少部分用户不同意授权,但是从设计交互上做到的用户知情。看的出来有一些app存在一些缺陷。
4.通用组件的权限说明。
从一个app产品角度来看,肯定会存在下面的组件:分享组件、统计组件、推送组件,可能存在支付、地图,那么这些组件又需要那些敏感权限呢,下面列举一下。
组件 | 权限 | 说明 |
sharesdk | 存储 电话
| |
友盟 | 存储 定位 电话 | |
地图 | 存储 定位 | |
个推 | 存储 电话 |
综上所述:权限的申请和业务是有必然的关联的,如果不能放弃某个启动时就必须进行的业务,那么权限申请必然需要进行。上面分析可以看到出来淘宝和京东在启动时,就有电话的权限申请,说明应用重视某项业务,这个业务必须要进行初始。而新闻类app相对来说拥有较大的空间,对比如推送、统计类组件的初始和数据可以不那么重视,或者是比如推送有其他的途径可以不用那么早的初始化。就交互体验上来说,我觉得最舒服的还是哔哩哔哩,如果他在勾选不再提示后的处理优化就更好额。