在iOS中请求位置权限

将ARRIVE集成到您的应用中后,它可以提供最新的ETA和其他信息,这些信息与您的用户何时到达某个位置有关。 通过在适当的时间访问用户智能手机的位置来实现此目的。

这意味着您的应用将需要在某个时候访问您用户的位置。 而且,由于Apple希望确保其用户对谁可以访问其位置有一定的控制权,因此使用ARRIVE将需要获得用户的许可。 因此,在用户体验的某个时刻,您将需要提出位置访问主题。

只要您有充分的理由使用位置,就不必让用户允许位置访问就太困难了,特别是如果您在正确的时间提出正确的请求。 希望本指南可以为您提供一些帮助。

首先,您应该了解iOS应用可使用的两个位置访问级别。

iOS应用程序可以支持两种级别的位置访问之一。

  • 使用应用程序时
    使用该应用程序时,可以访问该设备的位置。 这也称为“使用中授权”。
  • 总是
    当应用在使用中或在后台时,该应用可以访问设备的位置。

请注意,“使用时”和“始终”是面向用户的术语。 在Apple的开发人员文档中,它们被称为“使用时”和“始终”。

由于位置跟踪在后台运行时效果最佳,因此当您的应用在后台运行时,ARRIVE需要访问位置。 这意味着要与您的应用程序一起使用ARRIVE,必须已授权该应用程序始终访问

iOS有两种方法可以让用户知道何时访问其位置。

状态栏

当应用访问设备位置时,iOS在设备状态栏中显示一个小的位置状态图标。

蓝条

从iOS 11开始,当具有访问权限的应用正在主动跟踪用户的位置时,屏幕顶部会显示一个蓝色栏。 无论哪个应用程序位于前景中,蓝色条都是可见的。

当具有始终访问权限的应用程序跟踪用户的位置时, 不会显示蓝色条。 ARRIVE需要始终访问,因此使用ARRIVE跟踪旅行时,蓝色条不会显示。

对于使用定位服务的应用,用户可以在iOS设置应用中的“隐私”>“定位服务”下控制位置访问。 所有应用程序的位置设置都收集在一个地方。 这些设置可以随时更改,但是用户必须转到设置应用程序才能执行此操作。

  • 对于所有应用
    一个位置服务开关可打开或关闭所有应用程序的位置访问。
  • 每个应用程式
    每个应用可使用两个或三个选项,具体取决于访问级别。 从不在使用应用程序时始终可用。 如果应用支持,则始终将是第三个选项。

您的应用第一次需要访问设备的位置时,iOS会在您的应用内请求您访问。 系统通过在开发人员确定的流程中的某个位置显示位置许可警报来实现此目的。 通过这种方式获得许可,无需用户更改设置应用程序中的设置。

用户只有一次机会来响应这些警报,因此您想在正确的时间提出请求,并提供充分的理由。 如果用户不允许访问,则需要进入设置以启用位置访问。 您以用法说明的形式提供原因。

所有位置权限警报均包括标题和消息。 标题由iOS提供。 标题下方的消息是应用程序开发人员提供的用法说明

对于使用访问时:

  • 无论您需要哪种访问级别,开发人员都必须在使用访问时提供使用说明。

对于始终访问:

  • 开发人员还必须提供使用情况说明,该说明将始终使用时结合在一起,
  • 对于iOS 10用户,开发人员还应始终包含用法说明(但iOS 11中不提供此类警报)。

编写用法说明

使用说明可以解释应用为何需要位置访问。 描述应该简短而切题-足以说服用户点击右按钮。

  • 清楚但简洁地说明为什么后台访问对于用户体验很重要,或者告诉用户如果拒绝访问将无法获得完整的体验。
  • 请求始终访问时,请明确鼓励用户先点击“始终允许”,然后将合并后的消息的内容始终放在“始终”上。
  • 说明仅在需要时(例如,有未结订单时)才会使用后台位置。

您请求访问权限的方式取决于所需的访问级别。 如果您打算使用ARRIVE,则需要始终访问以使其正常工作。 您请求始终访问的策略应取决于您在用户流中需要访问的位置。

要求“使用时”

如果您的应用程序不需要后台访问,则只需要一个警报。 在使用访问权限时提出请求后,您就完成了。 如果用户此时拒绝访问,则该应用的位置服务将处于“ 从不”模式,直到用户进入设置以将其打开。

要求“始终”

在iOS 11中,如果不要求在使用访问权限时也不能要求始终访问权限。 有两种方法可以做到这一点:

  • 方法1:使用两个警报
    首先使用访问权限时发出请求,随后请求始终访问
  • 方法2:使用一个警报
    使用时提出要求始终 同时访问

通过使用两个系统警报,可以通过在使用时首先请求使用户始终轻松,这是一个更容易的决定。 在使用模式下使用该应用程序后,当真正需要后台访问时,用户将更有可能始终允许权限。

例如,您的应用可能需要您用户的位置才能显示包含附近位置的地图。 您不需要后台访问权限,因此您可以先使用访问权限,然后再请求始终访问权限,直到您真正需要它时(例如,在需要开始跟踪之前)。

当使用单个警报请求始终许可时,iOS要求同时向用户提供所有三个选项。 如果选择“ 使用时” ,则无法始终请求。

如果用户选择“仅在使用应用程序时”,则以后始终打开始终将需要访问设置应用程序。 与这种方法相比,首选两种警报方法,因为它通常可以带来更好的用户体验。

通常,仅在确实需要许可时才请求许可,并且该请求应始终在相关上下文中进行。 尝试完成显然需要位置访问的任务时,用户更有可能允许访问。

  • 仅在需要立即定位时,才在发射时询问权限。
  • 始终要求在上下文中进行访问。 如果在相关任务的上下文中被询问,则用户更有可能允许访问。
  • 请勿同时向用户发出对其他服务的许可请求。
  • 在系统警报之前显示自定义的“入门”屏幕或警报,以提高系统警报的有效性。

请求权限时,在系统警报之前显示自定义的“入门”屏幕或警报可以帮助增加转化次数。 入门屏幕使您有机会a)在没有系统警报限制的情况下以自己的样式说明对位置访问的需求,以及b)评估用户是否准备在显示警报之前说“是”。

在入门中,说明访问用户的位置为什么很重要,并让用户知道仅在应用程序真正需要时才使用该位置。 例如,知道用户的位置对于为用户提供良好的取货体验很重要,因此让用户知道仅当他们有要取货的订单时才使用他们的位置。

由于系统权限请求只能显示一次,因此入门可以帮助在显示系统警报之前评估用户允许访问的意愿。 如果用户对底漆反应不佳,则不必浪费警报。 如果可能的话,请不要对不愿意使用的用​​户使用位置。 如果用户稍后再次使用该功能,您将有另一个机会请求位置访问。

用户对底漆作出肯定答复后,他们应该看到的下一件事情是系统警报请求访问。 底漆内容应直接引用随后的警报,因此他们知道期望什么以及应该做什么。 让用户知道在随后的警报中点击哪个按钮。

在您的应用程序用户体验中,何时何地决定要寻求许可将取决于应用程序的性质以及其功能如何协同工作。 下面的示例是一个粗略的轮廓,显示了带有路边取货的购物应用程序的2种警报方案。 在这种情况下,两种警报都使用引物非页内广告。

您的策略将取决于应用程序的性质及其运行方式,但是如果您在正确的时间给出正确的理由,则应该发现许多用户愿意允许权限。 用户首先要麻烦的是要安装应用程序,因此,只要您使用其位置的方式与安装应用程序的原因有关,您就应该会发现人们对您的要求持开放态度。