Comenzando
Copy a setup prompt with the install steps and the full markdown guide for this plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-android-usagestatsmanager`
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/es/docs/plugins/android-usagestatsmanager/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.
Instalación
Section titled “Instalación”npm install @capgo/capacitor-android-usagestatsmanagernpx cap syncyarn add @capgo/capacitor-android-usagestatsmanagernpx cap syncpnpm add @capgo/capacitor-android-usagestatsmanagernpx cap syncbun add @capgo/capacitor-android-usagestatsmanagernpx cap syncConfiguración de plataforma
Section titled “Configuración de plataforma”Android
Section titled “Android”Agrega los permisos requeridos a tu android/app/src/main/AndroidManifest.xml:
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" /><uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />Ejemplo de uso
Section titled “Ejemplo de uso”import { AndroidUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
// Check if permission is grantedconst permissionResult = await AndroidUsageStatsManager.isUsageStatsPermissionGranted();if (!permissionResult.granted) { // Open settings to grant permission await AndroidUsageStatsManager.openUsageStatsSettings(); return;}
// Query usage statistics for the last 7 daysconst statsOptions = { intervalType: 0, // INTERVAL_DAILY startTime: Date.now() - (7 * 24 * 60 * 60 * 1000), // 7 days ago endTime: Date.now()};
const usageStats = await AndroidUsageStatsManager.queryAndAggregateUsageStats(statsOptions);console.log('Usage statistics:', usageStats);
// Get all installed packagesconst packages = await AndroidUsageStatsManager.queryAllPackages();console.log('Installed packages:', packages);Referencia de API
Section titled “Referencia de API”isUsageStatsPermissionGranted()
Section titled “isUsageStatsPermissionGranted()”isUsageStatsPermissionGranted() => Promise<{ granted: boolean }>Verifica si el permiso PACKAGE_USAGE_STATS está concedido.
Retorna: Promise<{ granted: boolean }>
openUsageStatsSettings()
Section titled “openUsageStatsSettings()”openUsageStatsSettings() => Promise<void>Abre la página de configuración del sistema para conceder el permiso de estadísticas de uso.
queryAndAggregateUsageStats(Opciones)
Section titled “queryAndAggregateUsageStats(Opciones)”queryAndAggregateUsageStats(options: UsageStatsOptions) => Promise<UsageStatsResult>Consulta estadísticas de uso detalladas para aplicaciones instaladas.
| Parámetro | Tipo |
|---|---|
options | UsageStatsOptions |
Retorna: Promise<UsageStatsResult>
queryAllPackages()
Section titled “queryAllPackages()”queryAllPackages() => Promise<PackagesResult>Obtiene información sobre todos los paquetes instalados en el dispositivo.
Retorna: Promise<PackagesResult>
Interfaces
Section titled “Interfaces”UsageStatsOptions
Section titled “UsageStatsOptions”| Prop | Tipo | Descripción |
|---|---|---|
intervalType | number | Tipo de intervalo (0=DIARIO, 1=SEMANAL, 2=MENSUAL, etc.) |
startTime | number | Tiempo de inicio en milisegundos |
endTime | number | Tiempo de fin en milisegundos |
UsageStatsResult
Section titled “UsageStatsResult”Contiene datos de estadísticas de uso para cada aplicación:
- Tiempo de uso de la aplicación y frecuencia
- Primera y última vez usado
- Tiempo total en primer plano
- Conteo de lanzamientos
PackagesResult
Section titled “PackagesResult”Contiene información sobre paquetes instalados:
- Nombre y versión del paquete
- Tiempo de instalación
- Etiquetas e iconos de aplicaciones
- Aplicaciones del sistema vs aplicaciones de usuario
Manejo de permisos
Section titled “Manejo de permisos”El Plugin requiere permisos especiales que no pueden ser concedidos a través de solicitudes normales de permisos en tiempo de ejecución:
- PACKAGE_USAGE_STATS: Permite el acceso a estadísticas de uso
- QUERY_ALL_PACKAGES: Requerido para información de paquetes (Android 11+)
Los usuarios deben conceder manualmente estos permisos a través de la configuración del sistema. Usa openUsageStatsSettings() para dirigir a los usuarios a la página de configuración apropiada.
Mejores prácticas
Section titled “Mejores prácticas”- Siempre verifica el estado del permiso antes de consultar estadísticas de uso
- Maneja la denegación de permisos con elegancia con mensajes amigables para el usuario
- Considera la privacidad del usuario al recopilar datos de uso
- Implementa prácticas adecuadas de manejo y almacenamiento de datos
- Sigue las políticas de Google Play para la recopilación de datos de uso
Casos de uso
Section titled “Casos de uso”- Aplicaciones de bienestar digital: Monitorea el tiempo de pantalla y el uso de aplicaciones
- Controles parentales: Rastrea el uso del dispositivo de los niños
- Aplicaciones de productividad: Analiza patrones de trabajo y tiempo de concentración
- Analíticas: Comprende el comportamiento del usuario y el compromiso con la aplicación