Primeros pasos
Copia un prompt de configuración con los pasos de instalación y la guía completa en markdown para este plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-light-sensor`
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/light-sensor/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.
Instalar
Sección titulada “Instalación”Puedes usar nuestro setup asistido por IA para instalar el plugin. Añade las skills de Capgo a tu herramienta de IA con el siguiente comando:
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego usa el siguiente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-light-sensor` plugin in my project.Si prefieres la configuración manual, instala el plugin ejecutando estos comandos y sigue las instrucciones de cada plataforma:
bun add @capgo/capacitor-light-sensorbunx cap syncImportar
Sección titulada “Importar”import { LightSensor } from '@capgo/capacitor-light-sensor';Inicio rápido
Sección titulada “Inicio rápido”import { LightSensor } from '@capgo/capacitor-light-sensor';
const { available } = await LightSensor.isAvailable();Ejemplo: inicio
Sección titulada “Ejemplo: inicio”import { LightSensor } from '@capgo/capacitor-light-sensor';
await LightSensor.start({ updateInterval: 500 });Ejemplo: Detener
Sección titulada “Ejemplo: parada”import { LightSensor } from '@capgo/capacitor-light-sensor';
await LightSensor.stop();Errores comunes
Sección titulada “Errores comunes”- Permisos: llama a
checkPermissions()luegorequestPermissions()cuando sea necesario. - Listeners: elimina los handles cuando se desmonten las pantallas.
- Fuente de verdad: confianza
src/definitions.tsen el repo de GitHub.
Resumen de API
Sección titulada “Resumen de API”isAvailable
Sección titulada “isAvailable”Comprueba si el sensor de luz está disponible en el dispositivo actual. Siempre debes verificar la disponibilidad del sensor antes de intentar usarlo.
import { LightSensor } from '@capgo/capacitor-light-sensor';
const { available } = await LightSensor.isAvailable();Empieza a escuchar las actualizaciones del sensor de luz.
Esto iniciará las mediciones del sensor en el intervalo especificado.
Usa addListener para recibir los datos del sensor.
import { LightSensor } from '@capgo/capacitor-light-sensor';
await LightSensor.start({ updateInterval: 500 });Deja de escuchar las actualizaciones del sensor de luz. Esto detendrá el sensor y ahorrará batería.
import { LightSensor } from '@capgo/capacitor-light-sensor';
await LightSensor.stop();checkPermissions
Sección titulada “checkPermissions”Consulta el estado de permisos para sensores de alta frecuencia de muestreo. En Android 12+, se requiere el permiso HIGH_SAMPLING_RATE_SENSORS para intervalos de actualización inferiores a 200ms.
import { LightSensor } from '@capgo/capacitor-light-sensor';
const status = await LightSensor.checkPermissions();requestPermissions
Sección titulada “requestPermissions”Solicita permiso para sensores con alta frecuencia de muestreo. En Android 12+, esto solicita el permiso HIGH_SAMPLING_RATE_SENSORS.
import { LightSensor } from '@capgo/capacitor-light-sensor';
const status = await LightSensor.requestPermissions();Referencia de tipos
Sección titulada “Referencia de tipos”IsAvailableResult
Sección titulada “IsAvailableResult”Resultado que indica si el sensor está disponible.
export interface IsAvailableResult { /** * Whether the light sensor is available on this device. * Always false on iOS as the light sensor API is not available. * * @since 0.0.1 */ available: boolean;}StartOptions
Sección titulada “StartOptions”Opciones para iniciar el listener del sensor de luz.
export interface StartOptions { /** * The desired interval between sensor updates in milliseconds. * On Android 12+, there's a minimum interval of 200ms unless the app * has the HIGH_SAMPLING_RATE_SENSORS permission. * * @default 200 * @since 0.0.1 */ updateInterval?: number;}LightSensorCallback
Sección titulada “LightSensorCallback”Función callback para las actualizaciones del sensor de luz.
export type LightSensorCallback = (measurement: LightSensorMeasurement) => void;PermissionStatus
Sección titulada “PermissionStatus”Resultado de una solicitud o comprobación de permisos.
export interface PermissionStatus { /** * Whether the high sampling rate sensor permission is granted. * On Android 12+, this permission is required for update intervals below 200ms. * * @since 0.0.1 */ highSamplingRate: 'prompt' | 'prompt-with-rationale' | 'granted' | 'denied';}VersionResult
Sección titulada “VersionResult”Información de la versión del plugin.
export interface VersionResult { /** * The current version of the plugin. * * @since 0.0.1 */ version: string;}LightSensorMeasurement
Sección titulada “LightSensorMeasurement”Una única medición del sensor de luz.
export interface LightSensorMeasurement { /** * Ambient light level in lux (lx). * * @since 0.0.1 */ illuminance: number;
/** * Timestamp of the measurement in seconds since epoch. * * @since 0.0.1 */ timestamp: number;}Fuente de verdad
Sección titulada “Fuente de verdad”Esta página se genera a partir del plugin src/definitions.ts. Vuelve a ejecutar el sync cuando el API público cambie en upstream.
Continúa desde Getting Started
Sección titulada “Continúa desde Primeros pasos”Si estás usando Primeros pasos para planificar las operaciones del dashboard y de API, conéctalo con Uso de @capgo/capacitor-light-sensor para la funcionalidad nativa en Uso de @capgo/capacitor-light-sensor, Resumen de API para los detalles de implementación en API Overview, Introducción para los detalles de implementación en la Introducción, Claves de API para los detalles de implementación en las claves de API, y Dispositivos para el detalle de implementación en Devices.