技术笔记

蓝牙 BLE 设备 App 开发:从协议文档到上架的完整流程

BLE 设备 App 的完整流程是五步:协议文档评审、GATT 服务与特征梳理、真机联调、OTA 升级、上架合规。最常被低估的是真机联调,最常出事的是固件版本碎片化。

2026 年 9 月 27 日 · 技术笔记

蓝牙 BLE 设备 App 开发,从拿到协议文档到最终上架,完整的流程是五步:协议文档评审 → GATT 服务与特征梳理 → 真机联调 → OTA 升级 → 上架合规。其中真机联调占用的工作量最大、坑最集中:MTU 分包、后台断连、固件版本碎片化、iOS 与 Android 的行为差异,都在这一步暴露。

一、流程总览

  1. 协议文档评审:确认通信制式、协议完整度、固件版本范围;
  2. GATT 服务与特征梳理:把设备能力整理成 App 端与设备侧的共同契约;
  3. 真机联调:逐机型、逐固件版本跑通扫描、连接、读写、订阅;
  4. OTA 升级:固件分包传输、校验、断点与回滚;
  5. 上架合规:蓝牙权限文案、隐私政策、常规上架项。

二、第一步:协议文档评审

  1. 先确认通信制式:BLE 还是经典蓝牙(SPP)——两者的 API、能力与审核要求完全不同,先把这一项钉死;
  2. GATT 谁定义:设备厂给了协议文档,还是只有固件代码?后者要预留抓包还原协议的时间;
  3. 分包与重组:单条业务数据超过 MTU 怎么拆、按什么字节序组装,两端必须一致;
  4. 加密与认证:配对方式、绑定的密钥管理,决定 App 端配对流程怎么写;
  5. 固件版本范围:文档对应哪个固件版本,现场存量设备分布在哪些版本。

三、第二步:GATT 服务与特征梳理

BLE 的设备能力以 GATT 服务(Service)和特征(Characteristic)组织,每个服务与特征由 UUID 标识。一个可以核对的细节:标准 16 位 UUID 映射到 Bluetooth SIG 的 128 位基址 0000xxxx-0000-1000-8000-00805F9B34FB,例如电池服务的 UUID 是 0x180F,其中的电池电量特征是 0x2A19;厂商自定义功能多走 128 位自定义 UUID。

每个特征带属性(读、写、无响应写、通知、指示)。客户端要订阅”通知”,需要向该特征下的 CCCD(Client Characteristic Configuration Descriptor,UUID 0x2902)写入开启标志——调试”收不到数据”时,这里是第一个要查的地方。

评审产出物是一张服务-特征-属性表:UUID、属性、字节序、分包规则、对应的业务含义,作为 App 端与设备侧的共同契约。

四、第三步:真机联调与常见坑

  1. MTU:链路默认 MTU 是 23 字节,GATT 写操作实际可用 20 字节;App 要主动协商更大的 MTU(Android 用 requestMtu,iOS 系统自动协商),分包逻辑必须兼容协商失败、回退默认值的情况;
  2. 后台断连:iOS 进入后台后 BLE 连接事件窗口受限,连接可能被降频甚至断开。连接状态机要设计自动重连,重连后的状态恢复要幂等;
  3. 固件版本碎片化:同一型号不同批次的固件行为可能不一致——服务没变,特征行为变了。要建固件版本矩阵,逐版本回归,只测最新固件一定会在现场翻车;
  4. iOS 与 Android 差异:扫描上 iOS 会返回缓存的广播数据,Android 需要运行时申请定位 / 蓝牙权限;Android 返回的 MAC 地址可能动态变化,不能当作设备唯一标识;
  5. 联调记录:每次联调记录固件版本、机型、系统版本与现象,沉淀成可追溯的文档,后面交接和排障都靠它。

五、第四步:OTA 升级

  1. 升级期间断开业务通道,只保留升级服务;
  2. 固件分包传输,每包带序号与校验,失败重传;
  3. 考虑用户中途离开 App 的场景:断点续传还是重新开始,要明确;
  4. 失败回滚方案:新固件起不来时,boot 区怎么兜底;
  5. App 端校验固件包与设备型号、当前版本的匹配关系,避免刷错包。

六、第五步:上架合规

  1. iOS:权限文案 NSBluetoothAlwaysUsageDescription 要写清具体用途(”用于连接××设备并同步数据”),文案空泛或缺失会被拒;
  2. Android:Android 12 及以上用 BLUETOOTH_SCAN / BLUETOOTH_CONNECT 运行时权限;更早的版本扫描 BLE 要走定位权限,不用定位结果时可以加 neverForLocation 标志;
  3. 隐私政策:覆盖设备数据的采集类型与用途;
  4. 备案、隐私清单等常规上架项同样适用,可参考我们的 App 上架清单笔记。

七、我们做过的同类项目

我们交付过健康监测设备、手持终端、传感器类硬件的配套 App:从协议还原、GATT 联调到 OTA 与上架的完整链路都由自己的团队走完。设备侧的分工取舍与甲方要核验的事项,可看笔记 找公司做蓝牙/硬件连接 App,先问这 8 个问题。


如果你正在评估 BLE 类 App 的开发或接手一个半截项目,建议先用第二节的清单对一遍协议文档的完整度——文档缺什么,后面每一步都会加倍还回来。

了解更多:软硬件结合与物联网开发。哪些工作在我们范围内、哪些明确不含,也可以先看我们的需求清单与边界说明。