为了获得基于邻近度的优惠,应用程序的首选状态是什么 - 应用程序是在前台,后台还是尚未启动?
对此有不同意见,有人说用户应该如何知道他应该启动应用程序,另一方面如果应用程序未启动,则deamon进程需要监听BLE数据包(和消耗电池)
我试图了解一些真正的应用程序在实践中正在做些什么。
答案 0 :(得分:1)
当用户在附近时提供优惠的Beacon应用通常需要背景检测信标,因为用户不太可能知道在合适的时间手动打开应用。
只要手机上已经安装了信标应用程序,就可以在iOS和Android上使用。这两种平台都允许在后台执行低功率信标扫描,当检测到与标识符模式匹配的信标时,它将向应用程序发送回调。
基本做法是让应用程序在第一次运行时注册这些回调,因此即使重新启动手机,也会通知其检测到。
正如您所说,后台扫描需要一些电池使用,但在Android和iOS上都有优化可以接受。这些优化在iOS上是自动的,实现是封闭源和未记录的。在Android上,开源Android Beacon Library提供了类似的优化。您可以阅读背景启动的工作原理here和省电here。
完全披露:我是Android Beacon Library项目的首席开发人员。