Ibm cloud 当我的应用程序处于后台或未运行时,我可以设置信标范围并发送位置更新吗?
我一直在使用IBM Presence Insights记录用户移动设备的室内位置。我正在使用beacon基础设施,并使用Presence Insights SDK构建了一个应用程序Ibm cloud 当我的应用程序处于后台或未运行时,我可以设置信标范围并发送位置更新吗?,ibm-cloud,estimote,indoor-positioning-system,presenceinsights,Ibm Cloud,Estimote,Indoor Positioning System,Presenceinsights,我一直在使用IBM Presence Insights记录用户移动设备的室内位置。我正在使用beacon基础设施,并使用Presence Insights SDK构建了一个应用程序 我的应用程序/手机是否会覆盖信标并向Presence Insights发送位置更新,即使该应用程序位于后台?如果应用程序没有运行怎么办?我需要知道Android和iOS的这种行为 Presence Insights SDK不包含任何特定于在后台状态下运行应用程序的代码-您编写应用程序的方式将决定它们是否以及如何在后台
我的应用程序/手机是否会覆盖信标并向Presence Insights发送位置更新,即使该应用程序位于后台?如果应用程序没有运行怎么办?我需要知道Android和iOS的这种行为 Presence Insights SDK不包含任何特定于在后台状态下运行应用程序的代码-您编写应用程序的方式将决定它们是否以及如何在后台运行 下面是一些关于设置后台进程的好信息,以及。有很多选择 一句至理名言-如果你不小心设置后台进程,你可以杀死某人的电池
希望这有帮助做了一些调查。对于不同的操作系统,在后台范围的能力是不同的 对于iOS:
- iOS可以使用“区域”监控在后台监控信标。这与特定信标的测距不同,因为它监视的是大区域/信标组。这种方法不会很快耗尽手机的电池电量,并为用户提供更多的隐私。这是从Apple构建基于位置的应用程序的推荐方法,也是我们在SDK中所做的
- 当应用程序处于后台、前台或完全关闭时,区域监控会起作用,有关更多信息,请参阅此链接:
- 上面的链接谈到了限制,最明显的是,用户必须拥有“即使不使用应用程序也可以访问您的位置”的权限
- 当手机不在使用中,或应用程序在后台时,SDK最多每15分钟监控一次这些信标范围(这似乎因iOS设备、操作版本级别等而异)
- 当手机在使用中,并且在前台时,它将不断地对信标进行定位(应用程序开发人员不需要做任何事情来启动这个过程)
- (对我来说,这意味着可能有人可以进出场馆而根本不用手机。如果他们在15分钟内这样做,他们将根本不会被发现。)
- 只有当用户下载了应用程序并且应用程序开发人员“启动”了PI信标传感器时,才能进行所有监控。这是必需的,以便PI能够获取与组织相关联的信标列表,并向电话操作系统注册这些信标区域。因此,我们建议应用程序开发人员在应用程序启动后立即启动信标感应李>
- 我不确定这种监控是否能在手机重启后继续存在李>
- Android没有操作系统提供的区域监控概念李>
- 我们创建了一个后台进程,它使用扫描周期(扫描的时间)和扫描周期之间的时间(唤醒和扫描前等待的时间)
- 目前,如果用户打开android应用程序,我们将创建此后台进程,该进程将每5分钟运行一次,并扫描BLEs
- 目前,由于这些值,这会严重消耗电池电量
- 如果用户强制关闭应用程序,它将关闭后台进程,因此不会进行扫描。我们正在寻找解决这个问题的方法,当应用程序关闭时重新启动后台服务
- Android后台进程无法在手机重启后继续运行,因此,如果用户重启手机而不打开应用程序,它将永远不会扫描信标