权限申请时机可以是安装时集中授予也可以是使用时按需申请
别名: 安装时授权 · 运行时权限 · ask on first use
概念解释
移动系统决定什么时候向人要权限:安装时一次列出相机、通讯录、定位并集中点允许,或等到真正调用该能力时再弹系统对话框。两种时机是平台规则,不是同一套隐私原则的两种文案。装时授予把决策放在人还没见过产品之前;用时申请把决策绑在一次具体操作上。这条只谈申请落在时间轴的哪一点,不谈名叫「定位」的权限在各系统各覆盖哪些传感器,不谈拒绝之后还能不能再弹,也不谈跨平台代码该如何收敛。
机制
安装时模型把权限写进清单,商店或安装器在安装瞬间展示。人此时没有「我要拍一张发票」这样的任务上下文,注意力在「要不要装」上,清单容易被划过。运行时模型把对话框绑在第一次 API 调用:拍照按钮、定位导航、贴上通讯录好友。上下文让「为什么要」有落点,但也把中断插进任务中间。同一产品在仍使用安装时清单的系统上,启动后会以为权限已有;在只允许运行时申请的系统上,同一行代码第一次调用就会弹窗。把 iOS 的「第一次按快门再问」搬到仍是安装时授权的环境,人会觉得装的时候已经同意过了,怎么又问;反过来,把安装时那一长串搬到运行时系统,会在启动瞬间连弹数个系统框,任务还没开始就被拒。
怎么研究
比较安装时清单与首次使用对话框的注意和理解,而不是只问「愿不愿意给权限」。
自变量:提示时机(安装清单 / 启动时连弹 / 首次使用该能力)、当时是否有可理解的任务目标。 因变量:是否注视权限项、事后能否复述授予了什么、首次相关任务的完成与拒绝率。
经典做法是给安装对话框做注意测量(注视、能否回忆清单条目),再与运行时、带任务上下文的提示对比。实验室里「请安装这个应用」会抬高安装时的认真程度,真实商店滑动安装更接近划过。不要把「运行时拒绝率更高」直接读成更隐私——也可能是中断让人点错了拒绝。
边界
企业侧载、预装应用在某些系统上仍走安装时或静默授予,没有「第一次使用」这一个点。通知、后台刷新一类没有单一「使用瞬间」的能力,运行时模型也要找一个代理时机,那个代理不一定比安装时更清楚。桌面浏览器的站点权限(摄像头、位置)接近运行时,但站点不是安装单元,不能用移动安装时模型去套。系统升级把某权限从安装时改成运行时后,旧授予可能被重置,产品不能假定「用户去年已经点过允许」。
怎么落地
- 按目标系统的时机模型申请:运行时系统等到对应动作发生再调系统框;仍是安装时清单的系统,把清单写短,并在第一次真正使用时用应用内说明补上下文,而不是再仿一个系统框。
- 禁止在启动页为尚用不到的能力连弹多个运行时对话框。
- 验证:在安装时模型和运行时模型各一台设备上走「拍一张图上传」。运行时应在按下快门附近才出现系统框;安装时应在安装过程中完成授予、进入拍摄时不再突袭式弹框。时机反了,就是把另一平台的时间轴搬了过来。