Saltar al contenido principal
@capgo/capacitor-device-info API de dispositivos Código abierto

Device Info plugin Capacitor

Lee métricas de CPU, memoria, GPU, almacenamiento, estado térmico y sensores del dispositivo en apps de Capacitor

Instalar

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

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.

FAQ

Preguntas frecuentes sobre el plugin Device Info

¿Cómo instalo el plugin Device Info en una app de Capacitor?

Ejecuta "bun add @capgo/capacitor-device-info" (o "npm install @capgo/capacitor-device-info") y luego "bunx cap sync" para que los proyectos de iOS y Android incorporen el código nativo code. Impórtalo desde "@capgo/capacitor-device-info" en el code de tu app.

¿Funciona @capgo/capacitor-device-info con React, Vue y Angular?

Sí. Device Info es un paquete de Capacitor, por lo que funciona con cualquier framework web que se ejecute dentro de Capacitor, incluyendo Ionic, React, Vue, Angular, Svelte y JavaScript puro.

¿Qué versión de Capacitor soporta @capgo/capacitor-device-info?

Los plugins de Capgo siguen la versión mayor de Capacitor: usa la versión mayor del plugin que coincida con la versión mayor de tu Capacitor (por ejemplo, el plugin v8 con Capacitor 8). La tabla de compatibilidad del README de GitHub lista las versiones mantenidas.

¿Es @capgo/capacitor-device-info gratuito y de código abierto?

Sí. El code está publicado en GitHub en https://github.com/Cap-go/capacitor-device-info/ y el paquete se instala gratis desde npm. Se aceptan informes de errores y pull requests.

¿Puedo actualizar code que usa Device Info sin revisión de la App Store?

Instalar o actualizar el plugin cambia el code nativo, así que requiere un nuevo build para la tienda. Después, los cambios de JavaScript, HTML y CSS que llamen al plugin se pueden publicar al instante con las live updates de Capgo.

Publica cambios de Device Info sin esperar la revisión de la app

Una vez que el plugin esté en tu store build, Capgo live updates envía tus cambios de JavaScript, HTML y CSS a los usuarios en minutos.

Empieza con Capgo