移动智能设备的快速普及,给生活带来巨大的精彩,但是智能设备上用户的信息数据很多,隐私数据也非常多,各种各样的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相对来说拥有较大的空间,对比如推送、统计类组件的初始和数据可以不那么重视,或者是比如推送有其他的途径可以不用那么早的初始化。就交互体验上来说,我觉得最舒服的还是哔哩哔哩,如果他在勾选不再提示后的处理优化就更好额。

动态权限<二>之淘宝、京东、网易新闻 权限申请交互设计对比分析的更多相关文章

  1. 从淘宝和网易的font-size思考移动端怎样使用rem?

    最近翻了一下关于移动端的rem的使用,怎样最方便.在读到流云诸葛的一篇关于<从网易与淘宝的font-size思考前端设计稿与工作流>的文章后,来总结一下. 然而根据我以往做移动端web项目 ...

  2. iOS界面-仿网易新闻左侧抽屉式交互 续(添加新闻内容页和评论页手势)

     本文转载至  http://blog.csdn.net/totogo2010/article/details/8637430       1.介绍 有的博友看了上篇博文iOS界面-仿网易新闻左侧抽屉 ...

  3. 淘宝、网易移动端 px 转换 rem 原理,Vue-cli 实现 px 转换 rem

       在过去的一段时间里面一直在使用Vue配合 lib-flexible和px2rem-loader配合做移动端的网页适配.秉着求知的思想,今天决定对他的原理进行分析.目前网上比较主流使用的就是淘宝方 ...

  4. 方便代理下单的EcStore收货地址一键分析插件,同时支持淘宝/京东/一号店

    使用EcStore开展分销的网站,代理需要经常代客下单,每个客户收货地址都不同,要选择和填写多个内容才能完成地址输入:省.市.区.详细地址.收货人姓名.手机电话等,非常麻烦,也容易输入错误.安装EcS ...

  5. Vue(小案例_vue+axios仿手机app)_购物车(二模拟淘宝购物车页面,点击加减做出相应变化)

    一.前言 在上篇购物车中,如果用户刷新了当前的页面,底部导航中的数据又会恢复为原来的: 1.解决刷新,购物车上数值不变                                         ...

  6. 云互联(http://www.yunone.com/)淘宝店铺名[格子窝]垃圾皮包骗子公司分析

    首先先给大家说明下我写这篇文章的初衷,本来也不想费神写这个的,可是忍无可忍,无需再忍,别人不犯贱,咱们何必跟人家较真呢? 在做渭南电脑维修网的同时,遇到了很多问题,使我受益匪浅,尤其是SEO方面的提升 ...

  7. AOP编程 - 淘宝京东网络处理

    现象描述 当我们打开京东 app 进入首页,如果当前是没有网络的状态,里面的按钮点击是没有反应的.只有当我们打开网络的情况下,点击按钮才能跳转页面,按照我们一般人写代码的逻辑应该是这个样子: /** ...

  8. 开源第三方登录组件OAuthLogin2.0 支持QQ,阿里巴巴,淘宝,京东,蘑菇街,有赞等平台

    Nuget地址:https://www.nuget.org/packages/OAuthLogin2.0/ 项目结构说明: AuthorizationProviders文件夹下主要存放内置的授权平台. ...

  9. iOS开发 仿淘宝,京东商品详情3D动画

    - (void)show { [[UIApplication sharedApplication].windows[0] addSubview:self.projectView]; CGRect fr ...

随机推荐

  1. upper_bound()与lower_bound()的使用

    upper_bound()与lower_bound()的使用 c++中的许多库函数可以使我们的代码量大大减少,也可使问题简单化.很早之前就接触了upper_bound()与lower_bound(), ...

  2. 【AT987】高橋君

    题目 成爷爷一眼秒,\(tql!!!\) 多组询问,求 \[\sum_{i=0}^kC_{n}^i \] 发现\(k<=n\)啊,于是我们可以把一组询问抽象成一个区间\([k,n]\) 左指针的 ...

  3. ethers.js-2-wallets and signers

    Application Programming Interface (API) Wallets and Signers A Wallet manages a private/public key pa ...

  4. selenium3驱动IE浏览器设置

    前言: 使用selenium3+IE11的方式进行自动化测试 准备工作: 1.ie的驱动:IEDriverServer.exe(对应系统位数) 2.已安装好python3.selenium所需的相关服 ...

  5. 404 Note Found队 福大助手项目测评

    目录 第一部分 调研,评测 福大助手的bug IOS端 Android端 福大助手结构体系的思维导图 为什么开发人员没有发现这个bug 假设团队开发这款app,应注意哪些方面(架构.部署运维.微服务等 ...

  6. 内部元素一一相应的集合的算法优化,从list到hashmap

    说是算法优化,基本上是在吹牛,仅仅只是算是记录下,我写代码时候的思路.毕竟还是小菜鸟. 我要开一个party,与会者都是情侣,可是情侣并非一起过来的,而是有先有后,可是每位与会者来的时候都拿着一束鲜花 ...

  7. 【H5】ie8如何兼容html5标签(hack)

    ie8是识别不了html5语义化标签的,解决方法: 在头部文件的<head></head>里面下如下代码    (这段代码的意思是如果ie版本低于ie8,就创建所有HTML5新 ...

  8. 【html】点击链接让页面在 iframe 中变换

    Demo: <html><body> <a href= "1.html " target= "iFrameName "> p ...

  9. 【C++0x】表达式之类型(decltype)

      C++0x引入了新的关键字decltype,它是一个操作符,用来取得表达式的类型,主要在泛型编程中使用.这里,简单介绍一下语法规则. 语法形式:decltype (expression)其中,这里 ...

  10. 学习笔记—MapReduce

    MapReduce是什么 MapReduce是一种分布式计算编程框架,是Hadoop主要组成部分之一,可以让用户专注于编写核心逻辑代码,最后以高可靠.高容错的方式在大型集群上并行处理大量数据. Map ...