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

5c0514e7b0cdc11588b4aaf2444f028c.png

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

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

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

配对过程只有三个步骤:

  1. 确保您的外围设备符合所有的注册要求。

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

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

ced0eb59d03035825d1267b1ec3eaa1b.png

△ 图 1: Fast Pair 的连接通知

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

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

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

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

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

fee94c135f532ab49928ea982c23ea72.png

注册的前提条件

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

f07b5e31500977641b216c5a23df7db3.png

个人隐私 & 低功耗蓝牙 (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) 开始时更新一次。但在配对模式下不要切换使用地址;切换地址会阻止连接的建立与保持,因为当地址失效时连接便会断开。

d8b34dddc945783a2268cc78cc6381ff.png

账户密钥

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 而言,您的外围设备不会做任何区分,它会将这些设备识别为同一个用户。

279fa10a60b69840563f5a98c3930a40.png

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_FULL 的 BroadcastReceiver。这是可选的,因为使用此功能时,您的外围设备需要告知中枢设备数据缓冲区已满——这意味着外围设备的固件和配套应用需要做一些工作,才能对数据执行任意处理。

8cd925dadf987a143b7f8af0e23e618d.png

耳机设备

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

对于 TWS 耳机,需要满足以下条件:

  • 广播内容包含设备的电量信息。

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

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

c0e4190d330a0451de50bdd277da0ce5.png

拥有配套应用的设备

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

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

f72791e6cf96e96e6f24613ea13f7a28.png

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

c511b89693093dc854d6881b5bac2528.png

双向通信

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

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

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

8178852267d14896605065ca8801e534.png

注册

您需要将设备型号在 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

76d8410b48d9ab1f474e81007a3dcdc5.png

结语

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

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

b09a2b020bc9647c84254a7ac46f8e00.png

44adc8d3d62b244b470c2b004618e8f2.gif

推荐阅读

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

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


36e9ec43024c0c0805e314be3c4fc53c.png

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值