「Getting Started」
このプラグインのインストール手順とフルマークダウンガイドまでのセットアッププロンプトを含むセットアッププロンプトをコピーしてください。
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-device-info`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/device-info/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
互換性
「互換性」セクション@capgo/capacitor-device-info Capacitor 8 以上が必要です (@capacitor/core >=8.0.0).
インストール
「インストール」セクションAI-Assisted セットアップを使用してプラグインをインストールできます。AIツールに Capgo スキルを追加するには、以下のコマンドを使用してください。
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins次に、以下のプロンプトを使用してください。
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-device-info` plugin in my project.手動設定の場合、パッケージをインストールし、ネイティブプロジェクトを同期してください:
npm install @capgo/capacitor-device-infonpx cap syncインポート
「インポート」のセクションimport { DeviceInfo } from '@capgo/capacitor-device-info';1つのスナップショットを読み取る
「1つのスナップショットを読み取る」のセクションconst snapshot = await DeviceInfo.getInfo();
console.log(snapshot.cpu.cores);console.log(snapshot.memory.usedPercent);console.log(snapshot.storage.freeBytes);console.log(snapshot.sensors?.pressureHpa);cpu.usagePercent Δ値に基づいています。最初のネイティブサンプルでは省略できます; getInfo() __CAPGO_KEEP_1__を呼び出してください。2回目のサンプル後にCPU使用率が充填されたものを取得するには、__CAPGO_KEEP_1__を再度呼び出してください。
リアルタイム更新
「リアルタイム更新」セクションconst handle = await DeviceInfo.addListener('deviceInfoUpdate', (sample) => { console.log(sample.sequence, sample.elapsedMs); console.log(sample.cpu.usagePercent); console.log(sample.sensors?.readings);});
const session = await DeviceInfo.startMonitoring({ intervalMs: 1000, emitImmediately: true,});
console.log(session.intervalMs, session.startedAt);動作監視
「動作監視」セクションintervalMs__CAPGO_KEEP_0__に設定されます。1000__CAPGO_KEEP_1__以下の値は__CAPGO_KEEP_2__に丸められます。250__CAPGO_KEEP_0__に設定されます。250.emitImmediatelyセットtrue.- または
durationMs自動的に監視を停止するには__CAPGO_KEEP_3__をセットしてください。sampleCount自動的に監視を停止するには__CAPGO_KEEP_3__をセットしてください。 - Calling
startMonitoring()while monitoring is active restarts the session with the new options. - Every
deviceInfoUpdateincludes a one-basedsequence, the session’sstartedAttimestamp, andelapsedMs.
Stop updates and remove listeners
Section titled “Stop updates and remove listeners”await DeviceInfo.stopMonitoring();await handle.remove();
// Or remove every listener registered on this plugin:await DeviceInfo.removeAllListeners();Check monitoring state
Section titled “Check monitoring state”const state = await DeviceInfo.isMonitoring();
if (state.monitoring) { console.log(state.samplesEmitted);}センサー フィールドのオンボード
「センサー フィールドのオンボード」セクションconst { sensors, cpu, gpu } = await DeviceInfo.getInfo();
console.log(cpu.temperatureCelsius);console.log(gpu?.temperatureCelsius);console.log(sensors?.batteryTemperatureCelsius);console.log(sensors?.ambientTemperatureCelsius);console.log(sensors?.relativeHumidityPercent);console.log(sensors?.pressureHpa);console.log(sensors?.illuminanceLux);console.log(sensors?.proximityDistanceCm);console.log(sensors?.availableSensors);__CAPGO_KEEP_0__ はオプションのセンサー フィールドです。デバイス、OS、そしてアプリケーション サンドボックスがそのメトリックを公開している場合にのみ表示されます。
プラットフォームに関する注意
「プラットフォームに関する注意」セクション- iOS では、公開されたメトリックに対して許可が必要ありません。CoreMotion センサーの可用性を報告しますが、RAW CPU または GPU の温度は報告しません。
- Android では、公開されたメトリックに対して許可が必要ありません。CPU と GPU の温度は、ベストエフォートの熱帯域読み取りで、実際の温度を報告します。
- Web サポートはベストエフォートで、ブラウザがネイティブ デバイス センサーを一貫して公開していないため、空のオンボード センサー配列を報告します。
API リファレンス
「API リファレンス」セクション| メソッド | 取得します。 | 注意 |
|---|---|---|
getInfo() | Promise<DeviceInfoSnapshot> | 1つのスナップショットを読み取ります。 |
startMonitoring(options?) | Promise<StartMonitoringResult> | 定期的なスナップショットを開始する、またはアクティブなセッションを新しいオプションで再起動します。 |
stopMonitoring() | Promise<StopMonitoringResult> | アクティブなセッションを停止します。 |
isMonitoring() | Promise<MonitoringState> | 現在のセッションの状態を取得します。 |
addListener('deviceInfoUpdate', listener) | Promise<PluginListenerHandle> | 定期的なスナップショットリスナーを登録します。 |
removeAllListeners() | Promise<void> | プラグインで登録されたすべてのリスナーを削除します。 |
getPluginVersion() | Promise<PluginVersionResult> | ネイティブプラグインのバージョンを読み取ります。 |
PluginListenerHandle Capacitorによって提供され、 remove() 個々のリスナーを削除するためのオプション
スナップショットのタイプ
セクションのタイトルは「スナップショットのタイプ」ですinterface CpuInfo { cores: number; activeCores?: number; architecture?: string; model?: string; usagePercent?: number | null; maxFrequencyHz?: number; temperatureCelsius?: number;}
interface MemoryInfo { totalBytes?: number; freeBytes?: number; usedBytes?: number; usedPercent?: number; appUsedBytes?: number; appLimitBytes?: number; lowMemory?: boolean; pressure?: 'normal' | 'warning' | 'critical' | 'unknown';}
interface StorageInfo { totalBytes?: number; freeBytes?: number; usedBytes?: number; usedPercent?: number;}
interface GpuInfo { api?: 'metal' | 'opengl' | 'webgl' | 'unknown'; vendor?: string; renderer?: string; version?: string; maxTextureSize?: number; temperatureCelsius?: number;}
type ThermalState = 'nominal' | 'fair' | 'serious' | 'critical' | 'unknown';
interface DeviceInfoSnapshot { timestamp: number; platform: 'ios' | 'android' | 'web'; cpu: CpuInfo; memory: MemoryInfo; storage: StorageInfo; gpu?: GpuInfo; thermalState?: ThermalState; lowPowerMode?: boolean; sensors?: OnboardSensorsInfo;}サイズはバイト、 maxFrequencyHz はヘルツ、温度の値はセルシウスです。 usagePercent が null プラットフォームが十分なサンプルを取得するまで
センサータイプ
セクションのタイトルは「センサータイプ」ですinterface OnboardSensorDescriptor { type: string; name?: string; vendor?: string; platformType?: number; maximumRange?: number; resolution?: number; powerMilliamp?: number; minDelayMicroseconds?: number; wakeUp?: boolean;}
interface OnboardSensorReading { type: string; unit: string; value: number; name?: string; timestamp?: number;}
interface OnboardSensorsInfo { availableSensors?: OnboardSensorDescriptor[]; readings?: OnboardSensorReading[]; batteryTemperatureCelsius?: number; ambientTemperatureCelsius?: number; relativeHumidityPercent?: number; pressureHpa?: number; illuminanceLux?: number; proximityDistanceCm?: number;}センサーリーディングのタイムスタンプはUnixエポックミリ秒です。一般的な単位はセルシウス、パーセント、hPa、ルックス、センチメートルです。
監視タイプ
セクションのタイトルは「監視タイプ」ですinterface MonitoringOptions { intervalMs?: number; durationMs?: number; sampleCount?: number; emitImmediately?: boolean;}
interface StartMonitoringResult { monitoring: boolean; intervalMs: number; startedAt: number;}
interface StopMonitoringResult { monitoring: boolean;}
interface MonitoringState { monitoring: boolean; intervalMs?: number; startedAt?: number; samplesEmitted?: number;}
interface DeviceInfoUpdate extends DeviceInfoSnapshot { sequence: number; startedAt: number; elapsedMs: number;}
interface PluginVersionResult { version: string;}startedAt, timestamp、および elapsedMs はミリ秒です。 sequence は各モニタリングセッションの 1 真実の源
セクション:真実の源
このリファレンスはプラグインのThis reference follows the public API in the plugin’s src/definitions.tsこのページを更新するときは、変更されたソースを確認してください。
Getting Startedから続けて
セクション:Getting Startedから続けてあなたが使用している場合 プログルトログ デストロートエントイン。デストロートエントイン、アイプログメカトエントイン」 @capgo/capacitor-device-info プログメカトエントイン、デストロートエントイン、アイプログメカトエントイン」 Using @capgo/capacitor-device-info プログメカトエントイン、デストロートエントイン、アイプログメカトエントイン」 @capgo/capacitor-barometer プログメカトエントイン、デストロートエントイン、アイプログメカトエントイン」 @capgo/capacitor-light-sensor ラビングメカトエントイン、プログメカトエントイン、デストロートエントイン」