用户通过 Beacons 参与屏幕关闭事件

User engagement with Screen-Off events with Beacons

我们想在我们的应用程序中加入信标技术,让用户参与屏幕关闭事件。

在当前用例中,我们假设最终用户会不断移动。

到目前为止,我们已经测试了两种不同的方法。

此外:在 iOS 上使用 附近消息 我们得到了预期的行为:应用程序会在使用 附近消息[= 时发现信标37=] 如果应用程序和 API 都配置为后台使用。

因此,我们问:

  • 有没有办法在屏幕关闭事件中使用 Nearby API?喜欢不断安排扫描?
  • 我们还有哪些其他替代方案可以在 iOS 和 Android 之间跨平台使用? (这样我们就可以尝试确保平台之间的行为相似)

编辑: 进一步阅读后,我们得出结论,如果正确使用 BLE 信标扫描对电池的影响最小(强调正确,我们将不得不改变我们这边的启发式),参见:this。 那么问题仍然存在:为什么我们不能在附近 api 没有 Nearby Messages 自己的通知中进行后台扫描,以便我们可以断言用户经过信标附近吗?令我们感兴趣的是,这在 iOS...

上工作得很好

Nearby API 按其选择的时间表进行扫描,包括屏幕事件。 您无法灵活地为您的应用程序自定义附近的扫描规则,因为它被设计为为 phone 上的所有应用程序运行的服务。使用附近时,您必须接受此限制。

Android Beacon 库是开源的,允许灵活配置扫描时间。如果您发现您的配置对您的用例来说耗电过多,您可以调整这个。默认设置旨在在功耗和快速检测之间取得良好的折衷,因此建议使用这些设置。如果您发现默认设置对您不起作用,您可以通过多种不同的方式进行设置。最简单的方法是调整其背景的 scanPeriod 和 betweenScanPeriod。但是还有许多其他方法可以自定义其扫描行为。

但是,您应该注意,如果处于低延迟模式,"constantly scheduling a scan"(如您的问题中所述)会消耗大量电量。 Android Beacon 库默认是在 low power 模式下持续扫描,当应用程序处于后台且周围没有信标时。在大多数设备上,这会在 5 秒内产生检测结果,并且合理的功耗类似于电池待机。

如果不了解您使用的 Android 信标库的配置、适当的测试条件以及目睹的功耗情况,很难提供更多建议。如果你能提供这些信息,我也许能提供更多帮助。

完全披露:我是 Android Beacon Library 开源项目的首席开发人员。