你可能不知道,绝大多数APP在安装后的三天内会流失80%的日活用户。许多用户下载一款APP,打开一次,然后果断卸载。出现这种问题的原因是用户试用了多款APP,在未来几天里,他们会决定某款APP将会被删除。

这些用户的行为是由粗制滥造的APP导致的吗?不一定,但与APP首次打交道在形成整体印象(好的或坏的)中扮演着重要的角色。当用户打开一个新的APP,他们最不愿看到的就是接二连三的请求权限弹出框:

  • APP想访问您的位置
  • APP想访问您的联系人
  • APP想访问您的相机

这些APP行为会对用户体验产生非常消极的影响,经常导致APP被无情抛弃。APP必须在请求权限前与用户真诚沟通来保持接触。这篇文章会帮助你走上正道,在请求权限逻辑上避免常见的陷阱。

构建战略

当APP需要请求权限时,最糟糕的莫过于事先不做任何提醒或解释,直接对用户进行请求权限轰炸。过早向用户请求权限或一次请求过多的权限都是常见的错误。而且,许多APP仍在做这样的蠢事——占领最上方,即当用户打开APP最先引入眼帘的画面。例如Gmail Inbox在启动页就开始请求权限,没有其他的信息或内容。

Image credit: Inbox by Gmail

当向用户发起权限请求时,你当然希望用户能同意请求,为了实现这一目标,你需要构建权限策略。权限策略取决于你所需要的权限类型的清晰度和重要性。重要的权限应当置于顶部,而次要的权限则可在上下文中请求即可。

权限请求模型. Image credit: Material Design

询问用户的时机

决定用户接受或拒绝请求的关键因素之一是APP何时发起请求。

简单原则:除非APP功能真正需要,一般不向用户请求权限。

只对重要权限请求顶部提醒

许多APP如果无法获得读取数据权限,将改变整个用户体验。例如一个依赖于短信服务的APP,拒绝其读取短信的权限会使这个软件变得毫无用处。幸运的是,用户会希望赋予这款短信软件使用短信的权限,这种情况下使用up-front是非常合理的。

Image credit: Google Hangouts

当一个功能需要多个权限才能正常工作时,仅请求这些权限而不要再请求其他。

结论:确保用户弄明白了APP是做什么的(基于APP的说明或先前类似的体验),并且只在用户期望APP获取重要权限时请求顶部弹窗。

在上下文中请求权限

在许多案例中,如果以一套权限请求开始一个新的用户体验,你将失去吸引用户的关键良机。APP应该在上下文中请求权限并传达该授权提供的价值。一旦用户被吸引,他们将很有可能同意你的请求。

Image credit: thinkwithgoogle

结论:在相关任务操作中,用户会更有可能同意授权。

如何询问用户

APP必须让用户明白为何每个权限请求都是必须的,无论是通过提供功能名称提示还是解释。切记,如果你希望得到肯定的答复,你必须温和地询问他们。

简单规则:向用户清楚表达他们同意权限请求后将要得到的反馈。

利益阐释

对于不明确的授权,我们应该提供简单的培训,告诉用户这个授权包含的内容。如果你的APP有相关攻略,可以用它来阐述你的APP是做什么用的以及为什么要请求意想不到的权限。

Image credit: Material Design

在上下文中解释授权许可是另一种不错的案例——它可以帮助评估用户兴趣并提高对授权许可的理解。试着向用户解释如果给予APP授权他们会得到什么好处。

Image credit: Google Maps

在请求过程中做好事前准备。

你可以提供一张背景图来解释权限请求。Foursquare事先为用户提供了一张背景图,解释为什么APP需要这项特殊的权限。

Image credit: Foursquare

在实际权限请求之前预先提供相关信息

你只能针对每一个特征(权限)触发iOS的默认权限请。用户在系统层级拒绝了你的权限可能才是最糟糕的事情,因为在iOS系统中用户撤销这个决定是非常复杂的。多数情况下,在iOS实际权限请求界面出现前,预先向用户告知同意授权请求是更好的做法。

Cluster是提前预告的一个好例子。Cluster的信息流中包含了一个上下文结构的视图,这正是一个预先提示,然后接下来就是最终的权限请求弹窗。使用预授权对话框让Cluster的“拒绝授权”问题很少发生。

“预先通知”是一个预授权培训的对话框覆盖层。Image credit: Cluster

在功能的上下文中询问

由用户触发的对话框在上下文构成的视图中更为有效,因为用户此时此刻正盼望着权限请求的出现,同时当希望使用已生效的该功能时,他们可能更加倾向同意请求。此时可以稍作等待,直到某个功能被调用来请求权限。当用户在Cluster APP里点击了某个功能(例如相机),就会触发照片权限的请求。

只在用户准备使用该功能时促使他们同意授权。Image credit: Cluster

如何应对被拒绝的权限

因为拒绝授权可能导致某个功能无法如预期正常工作,所以无论何时某个权限被拒绝,你都需要积极向用户解释。

简单规则:用户决绝权限请求后,程序应该提供反馈。

重要权限

由于某个重要权限被拒绝,导致APP无法正常运行,你应该解释为什么必须对该功能授权,同时提供跳转到系统设置的链接,方便用户前往设置。

下面是谷歌环聊界面的案例,用来解释权限对APP运行的必要性。

Image credit: Google Hangouts

结论

很明显,APP是千奇百怪的,但你需要考虑的是,当用户需要访问他们手机和数据的不同部分,并且确认该部分是可访问的。提升用户体验是个持续的过程。别错过让用户同意授权的机会!尝试各种方式,看看哪种更适合你。