跳转至正文

设备信息 Capacitor 插件

从 Capacitor 应用中读取 CPU、内存、GPU、存储、热状态及板载传感器指标

安装

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

指南

如何在 Capacitor 中使用 Device Info

使用 @capgo/capacitor-device-info

从 Capacitor 应用中读取 CPU、内存、GPU、存储、热量、低功耗及板载传感器指标。

兼容性

此插件需要 Capacitor 8 或更高版本 (@capacitor/core >=8.0.0).

安装

npm install @capgo/capacitor-device-info
npx cap sync

插件功能

  • getInfo - 读取一次快照,包含 CPU、内存、GPU、存储、热状态、低功耗模式和板载传感器。
  • startMonitoring - 启动周期性快照,用于图表和诊断 dashboard。
  • stopMonitoring - 停止当前数据流。
  • isMonitoring - 检查流状态及已发出的样本数量。
  • removeAllListeners - 移除插件上注册的所有监听器。
  • deviceInfoUpdate - 每个周期性样本都会触发监听器事件。

用法示例

import { DeviceInfo } from '@capgo/capacitor-device-info';

const snapshot = await DeviceInfo.getInfo();

console.log(snapshot.cpu.cores);
console.log(snapshot.memory.usedPercent);
console.log(snapshot.gpu?.renderer);
console.log(snapshot.sensors?.pressureHpa);

将指标流式输出到图表

import { DeviceInfo } from '@capgo/capacitor-device-info';

const samples: number[] = [];

const handle = await DeviceInfo.addListener('deviceInfoUpdate', (sample) => {
  if (typeof sample.cpu.usagePercent === 'number') {
    samples.push(sample.cpu.usagePercent);
  }
});

await DeviceInfo.startMonitoring({
  intervalMs: 1000,
  emitImmediately: true,
});

// Later:
await DeviceInfo.stopMonitoring();
await handle.remove();

监控默认间隔为 1000 ms,低于 250 ms 的间隔会被限制到 250 ms,并会立即发出一个样本,除非你设置 emitImmediately: false。调用 startMonitoring() 再次使用新选项重启当前会话。每个事件都包含其 sequence, startedAt,以及 elapsedMs.

使用 durationMs 或 sampleCount 以自动停止。如果您不再需要任何监听器,请调用 await DeviceInfo.removeAllListeners().

传感器接入说明

由于不同设备的硬件差异,传感器读数是可选的。Android 在可用时可以报告电池温度、环境温度、湿度、气压、光照、接近度以及尽力而为的 CPU/GPU 热区数值。iOS 会报告 CoreMotion 传感器可用性、热状态和低功耗状态,但 iOS 公开 API 不会暴露原始 CPU 或 GPU 温度。

该插件不获取天气数据。室外温度和湿度需要单独的定位与天气 API 集成。

完整参考文档

继续

如果你正在使用 @capgo/capacitor-device-info 要构建诊断或监控界面,请将其与 @capgo/capacitor-device-info 查看概览, 快速入门 安装及 API 示例,请访问 使用 @capgo/capacitor-barometer 用于专用的压力数据流,以及 使用 @capgo/capacitor-light-sensor 用于专门的光照强度读取。

常见问题

Device Info 插件常见问题

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

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

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

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

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

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

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

是的。code 的源码已在 GitHub 公开,地址为 https://github.com/Cap-go/capacitor-device-info/,并且你可以通过 npm 免费安装该包。欢迎提交 Bug 报告和 Pull Request。

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

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

无需等待 App Store 审核,即可即时发布 Device Info 的更新

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

开始使用 Capgo