开源的 Android 信标库或 Google 的 Proximity Beacon API 都允许 Android 应用程序检测与 Eddystone 兼容的信标。
Android 信标库是一个仅限客户端的API。它是完全免费的,并且受 Apache 2 开源许可证的保护,没有资源限制。它不需要任何服务器基础设施,并在检测到信标时提供回调,并提供范围回调来告诉您当它们继续存在时它们大约离您多远。它还可以在信标检测时在后台启动您的应用程序。 当您需要通用信标解决方案或需要对信标检测进行灵活的低级访问时,这是一个不错的选择。
相比之下, Google 的Proximity Beacon API是更高级别和更专业的服务器 API。它要求信标在 Google 的服务器上注册,并允许将公共和私有元数据附加到这些信标。然后,相关的附近消息 API 将在发现信标时提供回调,并告诉您已附加到此信标的数据。 它旨在返回高级信标数据,而不是提供对信标检测的低级访问。正如您所提到的,您可以拨打多少电话有一些限制。此库需要最新版本的 Google Play 服务,通常在美国和欧洲的较新手机上可用,但通常在中国和其他一些国家/地区不可用。
您选择哪个取决于哪个可以帮助您解决用例。如果您需要基于服务器的解决方案的云存储功能,并且可以依赖 Google Play 服务,那么这可能是您的正确选择。如果您需要更灵活的解决方案,并且不需要服务器 API,Android Beacon 库可能适合您。
编辑:这里要补充的另一个重点:任何由服务器支持的 API 都依赖于一个实体,该实体使这些服务器能够让您的应用程序在未来继续工作。当公司的业务重点发生变化时,公司(尤其是谷歌)停止服务并不罕见。考虑一下 Google 已停止服务的一长串列表,包括 Google Nearby 对信标通知的支持。如果您需要您的应用程序长期继续工作,请小心添加对第三方的依赖项以保持服务器运行。 这会产生风险。由于 Android 信标库不需要服务器,因此不存在基于公司决策的突发奇想在未来无法运行的风险。Proximity Beacon API 的情况并非如此。
完全披露:我是 Android 信标库的首席开发人员。