应用在后台时的信标行为

时间:2015-06-06 13:03:52

标签: ios location ibeacon

免责声明 - 我是服务器端工程师,所以我的知识有限。

问题 - 如果我的ios应用程序在后台,在输入初始区域后,区域监控是否允许多个事件

使用案例 - 在后台使用应用程序,用户进入部署了多个信标的设施。我喜欢这个应用程序在他们在该地区时定期拨打服务电话,当他们接近其中一个信标时进行一次通话。即#"我现在接近信标1"然后"我现在接近灯塔2"。这可行吗?

注意 - 我需要对用户进行三角测量。

1 个答案:

答案 0 :(得分:2)

是的,当应用程序在后台时,可以根据信标距离的变化进行服务呼叫。获得信标的定期距离更新被称为"范围"它适用于iOS和Android平台。但是对iOS有一些严重的限制。

Android - Android平台上的背景范围非常简单。使用Android Beacon Library,您可以在后台继续测距信标,并在估计的距离发生变化时拨打服务电话。该库允许以可配置的间隔显示信标在后台的范围(默认情况下每5分钟可节省一次电池)。但是这可以增加到你想要的任何间隔。

iOS - iOS背景范围受到严格限制以节省电池电量。 默认情况下,您只能在背景中为信标设置10秒范围。当您的应用程序从前台移动到后台时,此10秒计时器启动。当使用监控API检测到新的信标区域时,应用程序还可以暂时唤醒到后台。这将重新启动10秒计时器。

10秒过期后,应用程序暂停在iOS上,这意味着测距停止并且所有服务调用都没有完成。好消息是可以通过向操作系统发出特殊请求,将后台执行时间从10秒延长到180秒。该请求在下面的链接中描述。

当180秒还不够时,您可以通过设计信标标识符来获得更多时间,以便为监控API提供多个后台触发器。当您在空间中移动时,您可以通过检测具有不同ProximityUUID /主要组合的信标来获得新的后台监控触发器(通过背景范围重新启动时钟)。为此,您必须将这些不同标识符组合的信标放置在非重叠的无线电范围内,这样您就可以在空间中移动时获得新的进入/退出监视触发器。您还必须注册这些不同的信标区域以便使用操作系统进行监视,以便获得后台触发器。

您可以在此处详细了解这些技巧:http://developer.radiusnetworks.com/2014/11/13/extending-background-ranging-on-ios.html