【问题标题】:Beacon behavior when app is in the background应用程序在后台时的信标行为
【发布时间】:2015-08-21 09:18:02
【问题描述】:

免责声明 - 我是一名服务器端工程师,因此我的知识有限。

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

用例 - 应用在后台,用户进入部署了多个信标的设施。我希望该应用程序在他们在该地区时定期拨打服务电话,当他们靠近其中一个信标时拨打一个电话。即“我现在接近信标 1”然后稍后“我现在接近信标 2”。这可行吗?

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

【问题讨论】:

    标签: ios location ibeacon


    【解决方案1】:

    是的,当应用程序在后台时,可以根据与信标的距离变化进行服务调用。定期更新信标的距离称为“测距”,它适用于 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

    【讨论】:

    • 正是我需要知道的。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 2019-01-28
    • 1970-01-01
    • 2020-01-22
    • 2014-01-10
    • 2011-09-11
    相关资源
    最近更新 更多