查看原文
其他

Fast Pair: 轻叩一下,无缝连接 Android 用户

Android Android 开发者 2021-10-19

如果您是设备制造商,或是正在开发可与特定设备协同工作的应用 (例如可穿戴设备或 IoT 应用) 的开发者,当您和您的终端用户将设备与 Android 手机进行配对时,使用 Fast Pair (快速配对) 服务可以帮助您减少工作量。


  • Fast Pair (快速配对) 服务
    https://developers.google.cn/nearby/fast-pair/spec


事实上,您无需通过编码来启用 Fast Pairing,除非您希望在自己的配套应用中处理配对操作,而不是让 API 来帮您完成配对。

配对过程只有三个步骤:
  1. 确保您的外围设备符合所有的注册要求。

  2. 设备型号已在 Google 注册完毕。

  3. 当用户需要配对时,您的设备会呈现在他们的手机上。(如图 1 所示,步骤 1 中收集到的信息将会展示给用户)。

△ 图 1: Fast Pair 的连接通知

一旦用户将您的外围设备设置为配对模式,他们的 Android 手机界面底部会弹出一个对话框,显示设备名称、设备照片以及一个 Connect 按钮 (如图 1 所示)。


您的用户只需要点击该按钮即可实现设备配对,随后他们就可以享受愉快与轻松的体验了。


Fast Pair (快速配对) 服务也能够实现让用户通过他们的手机定位到放错位置的设备,甚至显示真无线立体声耳机 (TWS) 的电池电量。


  • Fast Pair (快速配对) 服务
    https://developers.google.cn/nearby/fast-pair/spec


最后,Fast Pair 可以提示用户安装任何可与设备配套使用的应用。



注册的前提条件



为确保您的设备能正确运行 Fast Pair,并提供更好的用户体验,需要满足如下条件:



个人隐私 & 低功耗蓝牙 (BLE) 



为保护您用户的个人隐私并防止被跟踪,我们要求设备使用带有随机的可解析私有地址 (RPA) 的低功耗蓝牙 (BLE)。

  • 随机的可解析私有地址
    https://www.electronicdesign.com/technologies/communications/article/21801870/ble-v42-creating-faster-more-secure-powerefficient-designspart-2

  • 低功耗蓝牙
    https://zh.wikipedia.org/wiki/蓝牙低功耗


地址需要每 15 分钟以及每次广播会话 (Advertisement Session) 开始时更新一次。但在配对模式下不要切换使用地址;切换地址会阻止连接的建立与保持,因为当地址失效时连接便会断开。



账户密钥



Fast Pair 使用不同的账户密钥 (Acount Key) 来代表外围设备的不同的个人用户。账户密钥可以映射到一个 Gmail 地址上。


  • 账户密钥 (Acount Key)
    https://developers.google.cn/nearby/fast-pair/spec#AccountKeyList

您的外围设备需要存储至少五个账户密钥,以便多人同时使用同一设备。比如,家庭中的父母和孩子可以共用一辆车,每个人都会把自己的 Gmail 地址作为账户密钥使用。

作为一项附加功能,一个人在多部 Android 手机或平板电脑上使用同一个 Gmail 账户的情况,也会被 Fast Pair 服务视为一个账户密钥。因此,如果是十个不同的 Android 设备共享同一个 Gmail 账户,对于 Fast Pair 而言,您的外围设备不会做任何区分,它会将这些设备识别为同一个用户。



BLE GATT 



您的设备需支持具有 Services 和 Characteristics 的 BLE GATT 的配置文件。

使用 Fast Pair 时,您需要定义一个 UUID 为 0xFE2C 的 service 和以下自定义 Characteristics:
  • Model ID

  • Key-based Pairing

  • Passkey

  • Account Key


  • 自定义 Characteristics
    https://developers.google.cn/nearby/fast-pair/spec#gatt_service


以上均为标准 Characteristics 和任何自定义 Characteristics (可用于与配套应用之间的通讯) 的补充。

如果您有配套应用并且已将其安装在中枢设备上,您的自定义数据将被转发至该应用。否则,自定义数据将被直接忽略。

您可以选择在应用中注册 ACTION 为 com.google.android.gms.nearby.fastpair.ACTION_LOG_BUFFER_FULLBroadcastReceiver。这是可选的,因为使用此功能时,您的外围设备需要告知中枢设备数据缓冲区已满——这意味着外围设备的固件和配套应用需要做一些工作,才能对数据执行任意处理。



耳机设备



Fast Pair 常用于耳机设备,该类设备需要支持 A2DP 或 HFP。只要设备支持这些规范之一,Fast Pair 将在设备绑定完成后,先尝试连接 A2DP 之后是 HFP。


对于 TWS 耳机,需要满足以下条件:
  • 广播内容包含设备的电量信息。

  • 用户可以自定义设备名称。

 

虽然这些对其他外围设备来说不是必需的,但 Fast Pair 同样也支持并且强烈推荐满足这些条件。



拥有配套应用的设备



Fast Pair 具有更通用的配套应用启动流程,用于支持各种配套设备。在此流程中,Fast Pair 仅能发现距离最近的设备,检查该设备的配套应用 (如果尚未安装应用,则提示用户安装),并将用户引导到配套应用的指定界面。该流程不涉及 BT 绑定。

FitBit 采用此流程简化了它们设备配置的过程。另一个采用此流程的设备案例可能是智能体重秤或电动牙刷,可用于展示其配套应用并简化开箱即用的体验。

△ 图2: 配套设备设置引导



双向通信



虽然广播是单向通信,然而一旦您的设备成功连接到中枢设备,例如 Android 手机,双向通信就成为可能。

Fast Pair 为您的外围设备提供了一个 RFCOMM 通道,以保持与中枢设备的持续通信。一旦连接成功,切换到经典的蓝牙进行双向通信是完全没问题的。


  • RFCOMM 通道
    https://en.wikipedia.org/wiki/List_of_Bluetooth_protocols#Radio_frequency_communication_(RFCOMM)



注册



您需要将设备型号在 Google 注册Fast Pair Provider


  • 将设备型号在 Google 注册
    https://developers.google.com/nearby/devices/


Fast Pair Provider 是一个外围设备 (例如一副耳机) 可发送能接受配对的广播。


相反地,Fast Pair Seeker 是一个中枢设备——例如一台 Android 手机或平板电脑,它寻找其他设备进行配对。Google Play 服务框架会处理这部分工作,且不需要其他模块执行任何操作,所以这里不对该内容进行介绍。


为了注册您的外围设备,您只需要提供以下内容:
  • 设备名称

  • 设备图片

  • 设备发射功率 (TxPower) 的测量值

    https://developers.google.cn/nearby/fast-pair/spec#transmit_power


虽然设备的名称和图片很简单,但测量功率需要多花点功夫。我们建议您在距离 Android 手机一米远的地方测量蓝牙设备的信号强度,然后在测试结果的基础上再加 41dBm。


  • 有关 Eddystone-UID 信息,请参阅:
    https://github.com/google/eddystone/tree/master/eddystone-uid#tx-power

提交 TxPower 有两种选择: 您可以在注册时手动提交,或者您的设备可以在设备广播期间将其作为负载数据中的一部分。


如果您在注册期间提供了设备的 TxPower,则您提交的所有设备单位均被校准到准确的 TxPower 等级。另一方面,如果您决定把 TxPower 信息作为广播记录的一部分,TxPower 等级将按每单位的标准处理。


一旦完成注册,我们将为您提供一个 Model ID 和加密的公/私密钥对。与任何非对称加密系统一样,我们强烈建议您将私钥存储在设备上的安全元件 (SE) 中,这样攻击者便无法访问它。



您的设备在广播期间的负载数据中 (Advertisement Record) 需包括 Google 提供的 Model ID 和设备的 TxPower 等级 (如果您在注册时尚未提供的话)。


  • Model ID
    https://developers.google.cn/nearby/fast-pair/spec#AdvertisingWhenDiscoverable



结语



Fast Pair 是 Google 提供的一项服务,作为 Google Play 服务的一部分,用于简化 Android 用户的设备配对过程。除了让配对更加方便以外,Fast Pair 还提供了其他一些很棒的功能,包括帮助用户定位到放错位置的设备,并提示设备安装对应的配套应用等。为了能提供给用户最佳体验,尽管存在一些前提条件,但注册过程本身却很简单,因为它只需要提供设备名称和图片。


欢迎您通过下方二维码向我们提交反馈,或分享您喜欢的内容、发现的问题。您的反馈对我们非常重要,感谢您的支持!



推荐阅读

如页面未加载,请刷新重试

 点击屏末 | 阅读原文 | 即刻了解更多 Fast Pair (快速配对) 服务




视频 小程序 ,轻点两下取消赞 在看 ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存