Nearby Share在建立连接前是如何获取相关用户信息的?
- 首先澄清误区:该功能的身份匹配完全不依赖固定MAC地址,谷歌也不会存储用户设备的固定MAC地址用于Nearby Share的身份关联,安卓设备的BLE广播MAC本身也会定期随机化,避免被持续追踪。
- 无连接展示身份信息的核心实现逻辑如下:
- 设备开启Nearby Share功能后,会通过低功耗蓝牙(BLE)周期性发送加密的临时身份广播帧,广播帧内携带和用户谷歌账号绑定、经过私钥签名的临时身份标识符,该标识符会定期自动刷新,和硬件标识完全解绑。
- 你的设备本地会缓存已授权同步的通讯录联系人对应的谷歌账号公开身份信息(包括用户主动设置的Nearby Share显示名称、头像、关联Gmail标识等),这些信息是开启谷歌账号同步后就提前存在本地的,不需要实时请求服务器。
- 当你的设备扫描到附近的Nearby Share广播帧时,会直接在本地用收到的临时身份标识符和本地缓存的联系人身份签名做匹配,如果匹配成功,就直接调用本地缓存的头像、身份信息展示,全程不需要和对方设备建立连接,也不需要实时请求谷歌服务器。
- 补充说明:只有属于你设置的可见范围(比如仅联系人可见)的账号才能匹配出完整身份信息,陌生人扫描到你的广播帧只会显示通用的设备标识,无法获取你的头像、Gmail等隐私信息,该设计是为了提前完成身份过滤,提升文件传输的效率和安全性。
内容的提问来源于stack exchange,提问作者Chris_Gr
相关产品推荐
相关产品推荐

