Repolode
appeeky

appeeky/expo-healthkit

为 Expo / React Native 提供统一的 HealthKit 与 Health Connect API。

可替代:react-native-healthkit

Star
108
Fork
8
未关闭 Issue
1
最近提交
11天前

这是什么?

@appeeky/expo-healthkit 是一个基于 Expo Modules API 的原生模块,用一套 JavaScript 接口同时对接 iOS HealthKit 与 Android Health Connect。应用代码始终传 Apple 的类型标识符,映射由原生层完成,步数、心率、睡眠、体重、血压等已映射类型无需写平台分支。

查询覆盖数量样本、分类样本、训练、统计聚合与分时段统计,以及 iOS 独有的心电图、活动圆环、临床 FHIR 记录、听力图和训练 GPS 轨迹;写入支持保存采样数据、训练和血压等相关性并删除对象。增量同步通过不透明 anchor 实现,Android 上首次分页读取,之后走 Health Connect 变更记录。

配置插件负责 HealthKit entitlement 与 Health Connect 权限声明,并把 minSdk 提到 26。需要 Expo SDK 53+ 的开发构建(Expo Go 不可用)、iOS 16.4+、Android 8+。

核心功能

  • 01两端统一 API:同一套方法和 Apple 类型标识符在 iOS 与 Android 通用,映射在原生层完成。
  • 02查询数量样本、分类样本、训练与统计聚合,并可用 queryStatisticsCollection 按小时或按天分桶。
  • 03iOS 专属查询:心电图、活动圆环、FHIR 临床记录、听力图、训练 GPS 轨迹、心跳序列与相关性。
  • 04通过 queryAnchored 做增量同步,返回 added、deleted、anchor 与 hasMore 支持分页补拉。
  • 05写入与删除:saveQuantitySample、saveCategorySample、saveWorkout、saveCorrelation 和 deleteObjects。
  • 06后台更新:observe、addUpdateListener 与 enableBackgroundDelivery,应用被系统重新拉起时会重新注册观察者。
  • 07配置插件声明 HealthKit 权限文案与 Health Connect uses-permission,并把 minSdk 提升到 26。
  • 08错误码区分平台(ERR_HEALTHKIT_UNSUPPORTED、ERR_HEALTH_CONNECT_UNSUPPORTED、ERR_HEALTH_CONNECT_ANCHOR_EXPIRED),无需写 Platform.OS 判断隐藏入口。

适用场景

  • 健身应用读取当日步数、心率或睡眠数据。
  • 构建体重、血压、体成分等趋势的健康面板。
  • 把应用内记录的训练和采样数据写回 HealthKit 或 Health Connect。
  • 用 anchor 增量查询把用户健康数据同步到自己的服务端。
  • 在 iOS 展示心电图、活动圆环等 Apple 专属数据,Android 上自动隐藏。

快速上手

  1. 1

    使用 Expo 安装该包

    npx expo install @appeeky/expo-healthkit
  2. 2

    在 app.json 或 app.config.ts 中添加配置插件

  3. 3

    重新生成原生代码并在开发构建中运行

    npx expo prebuild --clean

使用前须知

  • 健康数据 API 无法在 Expo Go 中运行,需要使用开发构建。
  • 需要 iOS 16.4 及以上并在 Apple 开发者后台启用 HealthKit 功能,或 Android 8 及以上并安装 Health Connect。
  • 元数据中未声明明确许可证(NOASSERTION),使用前请先确认许可条款。
  • iOS 的读取授权状态不透明,应用无法得知读取权限是否被拒绝。

收录于专题

标签

#react-native#expo#healthkit#health-connect#ios#android#mobile#typescript#health-data#apple-healthkit

常见问题

expo-healthkit 是什么?
为 Expo / React Native 提供统一的 HealthKit 与 Health Connect API。 @appeeky/expo-healthkit 是一个基于 Expo Modules API 的原生模块,用一套 JavaScript 接口同时对接 iOS HealthKit 与 Android Health Connect。应用代码始终传 Apple 的类型标识符,映射由原生层完成,步数、心率、睡眠、体重、血压等已映射类型无需写平台分支。
expo-healthkit 可以免费使用吗?用的什么许可证?
expo-healthkit 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
expo-healthkit 还在维护吗?
活跃维护中。expo-healthkit 最近一次提交是在 2026年10月26日。
expo-healthkit 适合用来做什么?
健身应用读取当日步数、心率或睡眠数据。 构建体重、血压、体成分等趋势的健康面板。 把应用内记录的训练和采样数据写回 HealthKit 或 Health Connect。 用 anchor 增量查询把用户健康数据同步到自己的服务端。 在 iOS 展示心电图、活动圆环等 Apple 专属数据,Android 上自动隐藏。
expo-healthkit 怎么安装和运行?
使用 Expo 安装该包: npx expo install @appeeky/expo-healthkit 在 app.json 或 app.config.ts 中添加配置插件 重新生成原生代码并在开发构建中运行: npx expo prebuild --clean
在哪里获取 expo-healthkit?
源代码和安装说明在 GitHub 上:https://github.com/appeeky/expo-healthkit

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目