如果您是设备制造商,或是正在开发可与特定设备协同工作的应用 (例如可穿戴设备或 IoT 应用) 的开发者,当您和您的终端用户将设备与 Android 手机进行配对时,使用 Fast Pair (快速配对) 服务 可以帮助您减少工作量。
事实上,您无需通过编码来启用 Fast Pairing,除非您希望在自己的配套应用中处理配对操作,而不是让 API 来帮您完成配对。
配对过程只有三个步骤:
- 确保您的外围设备符合所有的注册要求。
- 设备型号已在 Google 注册完毕。
- 当用户需要配对时,您的设备会呈现在他们的手机上。(如图 1 所示,步骤 1 中收集到的信息将会展示给用户)。
△ 图 1: Fast Pair 的连接通知
一旦用户将您的外围设备设置为配对模式,他们的 Android 手机界面底部会弹出一个对话框,显示设备名称、设备照片以及一个 Connect 按钮 (如图 1 所示)。
您的用户只需要点击该按钮即可实现设备配对,随后他们就可以享受愉快与轻松的体验了。
Fast Pair (快速配对) 服务 也能够实现让用户通过他们的手机定位到放错位置的设备,甚至显示真无线立体声耳机 (TWS) 的电池电量。
最后,Fast Pair 可以提示用户安装任何可与设备配套使用的应用。
注册的前提条件
为确保您的设备能正确运行 Fast Pair,并提供更好的用户体验,需要满足如下条件:
个人隐私 & 低功耗蓝牙 (BLE)
为保护您用户的个人隐私并防止被跟踪,我们要求设备使用带有 随机的可解析私有地址 (RPA) 的 低功耗蓝牙 (BLE)。
地址需要每 15 分钟以及每次广播会话 (Advertisement Session) 开始时更新一次。但在配对模式下不要切换使用地址;切换地址会阻止连接的建立与保持,因为当地址失效时连接便会断开。
账户密钥
Fast Pair 使用不同的 账户密钥 (Acount Key) 来代表外围设备的不同的个人用户。账户密钥可以映射到一个 Gmail 地址上。
您的外围设备需要存储至少五个账户密钥,以便多人同时使用同一设备。比如,家庭中的父母和孩子可以共用一辆车,每个人都会把自己的 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 和任何自定义 Characteristics (可用于与配套应用之间的通讯) 的补充。
如果您有配套应用并且已将其安装在中枢设备上,您的自定义数据将被转发至该应用。否则,自定义数据将被直接忽略。
您可以选择在应用中注册 ACTION 为 com.google.android.gms.nearby.fastpair.ACTION_LOG_BUFFER_FULL
的 BroadcastReceiver
。这是可选的,因为使用此功能时,您的外围设备需要告知中枢设备数据缓冲区已满——这意味着外围设备的固件和配套应用需要做一些工作,才能对数据执行任意处理。
耳机设备
Fast Pair 常用于耳机设备,该类设备需要支持 A2DP 或 HFP。只要设备支持这些规范之一,Fast Pair 将在设备绑定完成后,先尝试连接 A2DP 之后是 HFP。
对于 TWS 耳机,需要满足以下条件:
- 广播内容包含设备的电量信息。
- 用户可以自定义设备名称。
虽然这些对其他外围设备来说不是必需的,但 Fast Pair 同样也支持并且强烈推荐满足这些条件。
拥有配套应用的设备
Fast Pair 具有更通用的配套应用启动流程,用于支持各种配套设备。在此流程中,Fast Pair 仅能发现距离最近的设备,检查该设备的配套应用 (如果尚未安装应用,则提示用户安装),并将用户引导到配套应用的指定界面。该流程不涉及 BT 绑定。
FitBit 采用此流程简化了它们设备配置的过程。另一个采用此流程的设备案例可能是智能体重秤或电动牙刷,可用于展示其配套应用并简化开箱即用的体验。
△ 图2: 配套设备设置引导
双向通信
虽然广播是单向通信,然而一旦您的设备成功连接到中枢设备,例如 Android 手机,双向通信就成为可能。
Fast Pair 为您的外围设备提供了一个 RFCOMM 通道),以保持与中枢设备的持续通信。一旦连接成功,切换到经典的蓝牙进行双向通信是完全没问题的。
注册
您需要 将设备型号在 Google 注册 为 Fast Pair Provider。
Fast Pair Provider 是一个外围设备 (例如一副耳机) 可发送能接受配对的广播。
相反地,Fast Pair Seeker 是一个中枢设备——例如一台 Android 手机或平板电脑,它寻找其他设备进行配对。Google Play 服务框架会处理这部分工作,且不需要其他模块执行任何操作,所以这里不对该内容进行介绍。
为了注册您的外围设备,您只需要提供以下内容:
- 设备名称
- 设备图片
- 设备发射功率 (
TxPower
) 的 测量值
虽然设备的名称和图片很简单,但测量功率需要多花点功夫。我们建议您在距离 Android 手机一米远的地方测量蓝牙设备的信号强度,然后在测试结果的基础上再加 41dBm。
- 有关 Eddystone-UID 信息,请参阅 这里。
提交 TxPower
有两种选择: 您可以在注册时手动提交,或者您的设备可以在设备广播期间将其作为负载数据中的一部分。
如果您在注册期间提供了设备的 TxPower
,则您提交的所有设备单位均被校准到准确的 TxPower
等级。另一方面,如果您决定把 TxPower
信息作为广播记录的一部分,TxPower
等级将按每单位的标准处理。
一旦完成注册,我们将为您提供一个 Model ID 和加密的公/私密钥对。与任何非对称加密系统一样,我们强烈建议您将私钥存储在设备上的安全元件 (SE) 中,这样攻击者便无法访问它。
- 有关非对称密钥,请参阅:《从加密到验证,全方位保障您应用的通讯安全》
您的设备在广播期间的负载数据中 (Advertisement Record) 需包括 Google 提供的 Model ID 和设备的 TxPower 等级 (如果您在注册时尚未提供的话)。
结语
Fast Pair 是 Google 提供的一项服务,作为 Google Play 服务的一部分,用于简化 Android 用户的设备配对过程。除了让配对更加方便以外,Fast Pair 还提供了其他一些很棒的功能,包括帮助用户定位到放错位置的设备,并提示设备安装对应的配套应用等。为了能提供给用户最佳体验,尽管存在一些前提条件,但注册过程本身却很简单,因为它只需要提供设备名称和图片。
欢迎您 点击这里 向我们提交反馈,或分享您喜欢的内容、发现的问题。您的反馈对我们非常重要,感谢您的支持!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。