跳转至正文
@capgo/capacitor-health 设备 API 开源

健康 Capacitor 插件

从原生健康平台获取健康与健身数据

安装

bun add @capgo/capacitor-health bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-health
  • pnpm add @capgo/capacitor-health
  • yarn add @capgo/capacitor-health

指南

如何在 Capacitor 中使用 Health

使用 @capgo/capacitor-health

Capacitor 插件,用于与 Apple HealthKit 和 Health Connect 的数据进行交互。

安装

bun add @capgo/capacitor-health
bunx cap sync

bunx cap sync 将插件的原生 code 复制到你的原生项目中。每次升级插件后都要重新运行。

导入

import { Health } from '@capgo/capacitor-health';

API 概览

方法 描述
isAvailable 返回当前平台是否支持原生健康 SDK。
requestAuthorization 请求对指定数据类型的读/写权限。
checkAuthorization 检查所提供数据类型的授权状态,不会向用户弹出提示。
readSamples 读取指定时间范围内特定数据类型的样本。
saveSample 将单个样本写入原生健康数据存储。
openHealthConnectSettings 打开 Health Connect 设置界面(仅限 Android)。在 iOS 上,此方法无效。
showPrivacyPolicy 显示针对 Health Connect 的应用隐私政策(仅限 Android)。在 iOS 上,此方法无效。
queryWorkouts 从原生健康存储中查询运动训练会话。支持 iOS (HealthKit) 和 Android (Health Connect)。
queryAggregated 从原生健康存储中查询聚合后的健康数据。可按时间分桶(小时、天、周、月)进行求和、平均值、最小值或最大值等运算。对于大范围日期,这比获取单个样本更高效。

示例

isAvailable()

返回当前平台是否支持原生健康 SDK。

import { Health } from '@capgo/capacitor-health';

const result = await Health.isAvailable();
console.log(result);

requestAuthorization()

请求对指定数据类型的读/写权限。

import { Health } from '@capgo/capacitor-health';

const result = await Health.requestAuthorization({ read: ['steps'] });
console.log(result);

checkAuthorization()

检查所提供数据类型的授权状态,不会向用户弹出提示。

import { Health } from '@capgo/capacitor-health';

const result = await Health.checkAuthorization({ read: ['steps'] });
console.log(result);

readSamples()

读取指定时间范围内特定数据类型的样本。

import { Health } from '@capgo/capacitor-health';

const result = await Health.readSamples({ dataType: 'steps' });
console.log(result);

saveSample()

将单个样本写入原生健康数据存储。

import { Health } from '@capgo/capacitor-health';

await Health.saveSample({
  dataType: 'steps',
  value: 1,
});

openHealthConnectSettings()

打开 Health Connect 设置界面(仅限 Android)。在 iOS 上,此方法无效。

import { Health } from '@capgo/capacitor-health';

await Health.openHealthConnectSettings();

上表列出了 9 个核心方法。监听器、版本辅助函数以及每个方法的完整规范,请参阅 GitHub 仓库.

完整参考文档

继续阅读 使用 @capgo/capacitor-health

如果你正在使用 使用 @capgo/capacitor-health 要规划原生插件工作,请将其与 @capgo/capacitor-health 了解 @capgo/capacitor-health 中的实现细节, 快速入门 有关“入门指南”中的实现细节, Capgo 插件目录 查看 Capgo 插件目录中的产品工作流, Capgo 提供的 Capacitor 插件 有关 Capgo 开发的 Capacitor 插件的实现细节,以及 添加或更新插件 有关添加或更新插件的实现细节。

常见问题

Health 插件常见问题

如何在 Capacitor 应用中安装 Health 插件?

运行 "bun add @capgo/capacitor-health"(或 "npm install @capgo/capacitor-health"),然后运行 "bunx cap sync",使 iOS 和 Android 项目同步 native code。最后在你的应用 code 中从 "@capgo/capacitor-health" 导入即可。

@capgo/capacitor-health 是否支持 React、Vue 和 Angular?

是的。Health 是一个 Capacitor 包,因此它支持任何在 Capacitor 中运行的 Web 框架,包括 Ionic、React、Vue、Angular、Svelte 以及原生 JavaScript。

@capgo/capacitor-health 支持哪个版本的 Capacitor?

Capgo 插件遵循 Capacitor 的主版本号:请使用与 Capacitor 主版本号一致的插件主版本(例如插件 v8 对应 Capacitor 8)。GitHub README 中的兼容性表列出了仍在维护的版本。

@capgo/capacitor-health 是免费开源的吗?

是的。code 的源码已在 GitHub 公开,地址为 https://github.com/Cap-go/capacitor-health/,你可以直接从 npm 免费安装。欢迎提交 Bug 报告和 Pull Request。

我可以在不经过 App Store 审核的情况下,更新使用 Health 的 code 吗?

安装或升级插件会改动原生 code,因此需要重新做一次商店构建。之后,调用该插件的 JavaScript、HTML 和 CSS 改动就能通过 Capgo live updates 立即发布。

无需等待 App 审核,即可即时发布 Health 更新

只要插件已包含在你的商店版本中,Capgo live updates 就能在几分钟内把 JavaScript、HTML 和 CSS 的改动推送给用户。

开始使用 Capgo