Guía
Cómo usar Device Info en Capacitor
Usando @capgo/capacitor-device-info
Obtén métricas de CPU, memoria, GPU, almacenamiento, temperatura, bajo consumo y sensores integrados de una app Capacitor.
Compatibilidad
Este plugin requiere Capacitor 8 o superior (@capacitor/core >=8.0.0).
Instalar
npm install @capgo/capacitor-device-info
npx cap sync
Funcionalidades del plugin
getInfo- Obtén un snapshot con CPU, memoria, GPU, almacenamiento, estado térmico, modo de bajo consumo y sensores integrados.startMonitoring- Inicia snapshots periódicos para gráficos y dashboards de diagnóstico.stopMonitoring- Detén el stream activo.isMonitoring- Consulta el estado del stream y el número de muestras emitidas.removeAllListeners- Elimina todos los listeners registrados en el plugin.deviceInfoUpdate- Evento de listener emitido por cada muestra periódica.
Ejemplo de uso
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);
Transmitir métricas a un gráfico
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();
El monitoreo usa un intervalo de 1000 ms por defecto, limita los intervalos inferiores a 250 ms y emite una muestra inmediata a menos que configures emitImmediately: false. Llamar startMonitoring() de nuevo reinicia la sesión activa con las nuevas opciones. Cada evento incluye su sequence, startedAt, y elapsedMs.
Usa durationMs o sampleCount para que se detenga automáticamente. Si ya no necesitas ningún listener, llama a await DeviceInfo.removeAllListeners().
Notas sobre sensores
Las lecturas de sensores son opcionales porque cada dispositivo expone hardware distinto. Android puede reportar temperatura de la batería, temperatura ambiente, humedad, presión barométrica, luz, proximidad y valores de zonas térmicas de CPU/GPU cuando están disponibles. iOS reporta la disponibilidad de sensores de CoreMotion, el estado térmico y el estado de bajo consumo, pero las APIs públicas de iOS no exponen la temperatura bruta de CPU o GPU.
El plugin no obtiene datos meteorológicos. La temperatura exterior y la humedad requieren una integración aparte de ubicación y clima con API.
Referencia completa
Continuar
Si estás usando @capgo/capacitor-device-info para crear pantallas de diagnóstico o monitoreo, conéctalo con @capgo/capacitor-device-info para el resumen, Primeros pasos para ejemplos de instalación y de API, Usando @capgo/capacitor-barometer para streaming de presión dedicado, y Uso de @capgo/capacitor-light-sensor para lecturas de luz dedicadas.