用户参与使用Beacons的Screen-Off活动

时间:2017-12-06 15:57:55

标签: android google-play-services eddystone google-nearby google-beacon-platform

我们希望在我们的应用程序中加入信标技术,以创建用户参与屏幕关闭事件。

在目前的使用案例中,我们假设最终用户将不断移动。

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

  • Kontakt SDK / Android Beacon Library 以便不断扫描信标。使用UUID(假设我们使用的是Eddystone),我们可以将它与我们为后端检索的缓存消息相关联。然而这最终会吃掉很多电池。
  • 附近的消息/附近的意识这有潜力,因为它有一个信标仪表板,可以轻松配置每个信标上的附件,并且它在iOS和Android上都具有“相同”的实现。但是,在阅读文档并经过多次测试后,如果屏幕关闭,我们无法检索信标附件。唯一可行的方法是让用户仍然在信标前3分钟(取决于智能手机和能量设置),这违背了用户不断移动的前提,因此可能会触发扫描当用户不在灯塔附近时。

另外:在iOS上使用附近消息我们有所需的行为:如果应用和同时使用附近消息,应用会发现信标API 已配置为后台使用。

因此,我们问:

  • 有没有办法使用附近的API与屏幕关闭事件?就像不断安排扫描一样?
  • 我们还有哪些其他选择,可以在iOS和Android之间跨平台使用? (这样我们可以尝试确保平台之间的类似行为)

修改: 在进一步阅读时,我们得出的结论是,正确使用BLE信标扫描对电池的影响最小(强调正确,我们将不得不改变我们方面的启发式方法),请参阅:this。 那么问题仍然存在:为什么我们不能在附近的api 中进行背景扫描而没有 附近消息自己的通知,以便我们可以断言用户在灯塔附近通过?引起我们兴趣的是,这在iOS上运行得很好......

1 个答案:

答案 0 :(得分:2)

Nearby API会根据其选择的时间表进行扫描,包括事件屏幕。 您无法灵活地自定义应用的附近扫描规则,因为它旨在成为针对手机上所有应用运行的服务。使用“附近”时,您必须接受此限制。

Android Beacon Library是开源的,可以在您扫描时灵活配置。如果您发现配置使用过多的电池,您可以调整此项。默认设置是为了在电源使用和快速检测之间进行良好的权衡而设计的,因此建议使用这些设置。如果您发现默认设置不适合您,则可以通过多种不同的方式进行设置。最简单的方法是调整其scanPeriod和BetweenScanPeriod作为背景。但是还有很多其他方法可以自定义扫描行为。

然而,您应该注意,"不断安排扫描" (如您的问题所述)如果处于低延迟模式,将消耗大量电量。 Android Beacon库的默认设置是在低功耗模式下进行持续扫描,此时应用程序位于后台并且没有信标。在大多数设备上,这会在5秒内产生检测,并且合理的功率使用类似于电池待机。

如果不了解您在Android Beacon Library中使用的配置,现有的测试条件以及目睹的耗电量,很难提供更多建议。如果您能提供这些信息,我可能会提供更多帮助。

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