Nearby Messages API 是一种发布-订阅 API,可让您在连接到互联网的 Android 和 iOS 设备之间传递小的二进制文件载荷。设备不必连接到同一个网络,但必须连接到互联网。
“附近”功能使用低功耗蓝牙在设备之间传递唯一的实时配对码。服务器有助于在检测到相同配对代码的设备之间交换消息。当设备检测到来自附近设备的配对码时,会将配对码发送到 Nearby Messages 服务器进行验证,并检查是否针对应用的当前订阅集传送了任何消息。
“附近消息”未经身份验证,不需要 Google 帐号。
数据交换的确切机制可能会因版本而异。以下序列显示了导致消息交换的事件:
发布应用发出请求,将二进制载荷(消息)与唯一的实时配对代码(令牌)相关联。服务器会在消息载荷和令牌之间建立临时关联。
发布设备使用蓝牙低功耗模式,让附近的设备能够检测到令牌。发布设备还使用蓝牙低功耗模式扫描来自其他设备的令牌。
订阅应用将其订阅与令牌相关联,并使用蓝牙低功耗将其令牌发送给发布商,并检测发布商的令牌。
当任一方检测到另一方的令牌时,便会向服务器报告。
如果两台设备都与一个通用令牌相关联,并且调用方应用使用的 API 密钥与 Google Developers Console 中的同一项目相关联,则服务器可以促进两台设备之间的消息交换。
使用 Google Play 服务 Nearby SDK 时,系统会收集使用情况分析数据以改善体验。
- 性能指标:使用 Nearby SDK 时,系统会收集发布和订阅的时长以及收到的消息数量。
- 设备信息:系统会收集设备型号、国家/地区、build 版本和应用软件包名称并将其与性能指标相关联,以确定区域和设备专用切片。
- 已发布“附近消息”功能:Google 会存储通过“附近消息”功能发布的数据,直到消息不再发布为止。系统会将这些数据分享给设备附近的订阅者。
最终用户可以依次转到“设置”>“Google”>“使用情况和诊断信息”,以允许或拒绝此集合。