Mulai Menggunakan
Menggunakan prompt instalasi dengan langkah-langkah instalasi dan panduan markdown lengkap untuk plugin ini.
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.
Compatibility
Bab berjudul “Kemampuan Kompatibilitas”@capgo/capacitor-device-info memerlukan Capacitor 8 atau lebih baru (@capacitor/core >=8.0.0).
Instal
Bab berjudul “Instal”Kamu bisa menggunakan Setup Bantuan AI kami untuk menginstal plugin ini. Tambahkan Capgo kemampuan ke alat AI kamu menggunakan perintah berikut:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLalu gunakan prompt berikut:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-device-info` plugin in my project.Untuk setup manual, instal paket dan sinkronkan proyek native:
npm install @capgo/capacitor-device-infonpx cap syncimport { DeviceInfo } from '@capgo/capacitor-device-info';Baca satu snapshot
Section titled “Read one snapshot”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 berbasis delta. Sampel asli pertama dapat melupakan itu; panggil getInfo() lagi nanti atau gunakan pemantauan untuk menerima penggunaan CPU yang diisi setelah sampel kedua.
Streamkan pembaruan
Bagian Berjudul “Menerima Perbaruan”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);Perilaku pemantauan
Section titled “Monitoring behavior”intervalMsberdasarkan1000milidetik. Nilai di bawah250milidetik ditekan ke250.emitImmediatelyberdasarkan defaulttrue.- Setel
durationMsatausampleCountMenghentikan pemantauan secara otomatis. - Calling
startMonitoring()Saat monitoring aktif, ulanglah sesi dengan opsi baru. - Every
deviceInfoUpdatetermasuk satu berdasarkansequencetermasuk satu berdasarkanstartedAt, tanggal sesi, danelapsedMs.
Hentikan pembaruan dan hapus pengguna
Bagian berjudul “Hentikan pembaruan dan hapus pengguna”await DeviceInfo.stopMonitoring();await handle.remove();
// Or remove every listener registered on this plugin:await DeviceInfo.removeAllListeners();Periksa status pemantauan
Judul Bagian: Periksa status pemantauanconst state = await DeviceInfo.isMonitoring();
if (state.monitoring) { console.log(state.samplesEmitted);}Registrasi bidang sensor
Judul Bagian: Registrasi bidang sensorconst { 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);Bidang sensor adalah opsional. Mereka hanya ada ketika perangkat, OS, dan sandbox aplikasi menampilkan metrik tersebut.
Catatan platform
Judul Bagian: Catatan platform- iOS tidak memerlukan izin untuk metrik yang terbuka. Ini melaporkan ketersediaan sensor CoreMotion tetapi tidak suhu CPU atau GPU yang kasar.
- Android tidak memerlukan izin untuk metrik yang terbuka. Suhu CPU dan GPU adalah bacaan zona termal yang paling baik-upaya.
- Dukungan web adalah upaya terbaik dan melaporkan array sensor onboard kosong karena browser tidak mengekspos sensor perangkat native secara konsisten.
Referensi API
Judul Bagian “Referensi API”| Metode | Mengembalikan | Catatan |
|---|---|---|
getInfo() | Promise<DeviceInfoSnapshot> | Membaca satu snapshot. |
startMonitoring(options?) | Promise<StartMonitoringResult> | Mengaktifkan snapshot periodik, atau memulai ulang sesi aktif dengan opsi baru. |
stopMonitoring() | Promise<StopMonitoringResult> | Menghentikan sesi aktif. |
isMonitoring() | Promise<MonitoringState> | Mengembalikan status sesi saat ini. |
addListener('deviceInfoUpdate', listener) | Promise<PluginListenerHandle> | Mendaftarkan pengguna snapshot periodik. |
removeAllListeners() | Promise<void> | Menghapus setiap pengguna yang terdaftar pada plugin. |
getPluginVersion() | Promise<PluginVersionResult> | Membaca versi plugin native. |
PluginListenerHandle disediakan oleh Capacitor dan memiliki remove() untuk menghapus pengaturan individu tersebut.
Jenis snapshot
Bab berjudul “Jenis snapshot”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;}Ukuran dalam byte, maxFrequencyHz adalah hertz, dan nilai suhu dalam Celcius. usagePercent bisa null sampai platform memiliki sampel yang cukup untuk menghitungnya.
Jenis sensor
Bab berjudul “Jenis sensor”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;}Timestamps pembacaan sensor adalah milisecond Unix epoch. Satuan umum adalah Celsius, persen, hPa, lux, dan sentimeter.
Jenis monitoring
Bab berjudul “Jenis monitoring”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, dan elapsedMs adalah milisecond. sequence dimulai pada 1 untuk setiap sesi monitoring.
Sumber kebenaran
Bab berjudul “Sumber kebenaran”Referensi ini mengikuti publik API di plugin’s src/definitions.tsPerbarui halaman ini ketika sumber berubah.
Teruskan dari Getting Started
Bab berjudul “Teruskan dari Getting Started”Jika Anda menggunakan Mulai Menggunakan untuk diagnostik perangkat, hubungkannya dengan capgo/capacitor Informasi Perangkat untuk ringkasan, Menggunakan @capgo/capacitor-device-info untuk halaman tutorial, @capgo/capacitor-barometer untuk bacaan tekanan yang fokus, dan Perangkat capgo/capacitor-sensor cahaya untuk membaca sensor cahaya yang lebih fokus.