Per iniziare
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo 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/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.
Puoi usare il nostro setup assistito dall'IA per installare il plugin. Aggiungi le skill Capgo al tuo strumento di IA usando il seguente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsPoi usa questo prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-android-usagestatsmanager` plugin in my project.Se preferisci la configurazione manuale, installa il plugin con questi comandi e segui le istruzioni specifiche per la piattaforma qui sotto:
bun add @capgo/capacitor-android-usagestatsmanagernpx cap syncImporta
Sezione intitolata “Import”import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';Guida rapida
Sezione intitolata “Quick start”import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
const oneDayAgo = Date.now() - 24 * 60 * 60 * 1000;const now = Date.now();const stats = await CapacitorUsageStatsManager.queryAndAggregateUsageStats({ beginTime: oneDayAgo, endTime: now, packageName: 'com.example.app',});
for (const [packageName, usageData] of Object.entries(stats)) { console.log(`${packageName}: ${usageData.totalTimeInForeground}ms`);}Esempio: queryUsageStats
Sezione intitolata “Esempio: queryUsageStats”import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
const startOfDay = new Date().setHours(0, 0, 0, 0);const { stats } = await CapacitorUsageStatsManager.queryUsageStats({ intervalType: 0, // INTERVAL_DAILY beginTime: startOfDay, endTime: Date.now(), packageName: 'com.example.app',});stats.forEach((bucket) => { console.log(`${bucket.packageName}: ${bucket.totalTimeInForeground}ms`);});Esempio: queryEvents
Sezione intitolata “Esempio: queryEvents”import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
const startOfDay = new Date().setHours(0, 0, 0, 0);const { events } = await CapacitorUsageStatsManager.queryEvents({ beginTime: startOfDay, endTime: Date.now(), packageName: 'com.example.app',});events.forEach((event) => { console.log(`${event.packageName} type=${event.eventType} at ${event.timeStamp}`);});Errori comuni
Sezione intitolata “Errori comuni”- Sync nativo: run
npx cap syncdopo gli aggiornamenti dei plugin. - Fonte di verità: fidati
src/definitions.tsnel repo GitHub.
Panoramica API
Sezione intitolata “Panoramica API”queryAndAggregateUsageStats
Sezione intitolata “queryAndAggregateUsageStats”Interroga e aggrega le statistiche di utilizzo per l'intervallo di tempo specificato.
import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
const oneDayAgo = Date.now() - 24 * 60 * 60 * 1000;const now = Date.now();const stats = await CapacitorUsageStatsManager.queryAndAggregateUsageStats({ beginTime: oneDayAgo, endTime: now});
for (const [packageName, usageData] of Object.entries(stats)) { console.log(`${packageName}: ${usageData.totalTimeInForeground}ms`);}isUsageStatsPermissionGranted
Sezione intitolata “isUsageStatsPermissionGranted”Verifica se il permesso per le statistiche di utilizzo è stato concesso.
import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
const { granted } = await CapacitorUsageStatsManager.isUsageStatsPermissionGranted();if (!granted) { await CapacitorUsageStatsManager.openUsageStatsSettings();}openUsageStatsSettings
Sezione intitolata “openUsageStatsSettings”Apri le impostazioni delle statistiche di utilizzo. Aprirà la schermata delle impostazioni per consentire all'utente di concedere il permesso per le statistiche di utilizzo. Questo aprirà sempre la schermata delle impostazioni, anche se il permesso è già stato concesso.
import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
await CapacitorUsageStatsManager.openUsageStatsSettings();queryAllPackages
Sezione intitolata “queryAllPackages”Interroga tutti i pacchetti installati sul dispositivo. Richiede il permesso QUERY_ALL_PACKAGES.
import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
const { packages } = await CapacitorUsageStatsManager.queryAllPackages();packages.forEach(pkg => { console.log(`${pkg.appName} (${pkg.packageName}): v${pkg.versionName}`);});Riferimento tipi
Sezione intitolata “Riferimento tipi”UsageStatsOptions
Sezione intitolata “UsageStatsOptions”Opzioni per interrogare le statistiche di utilizzo.
export interface UsageStatsOptions { /** * The inclusive beginning of the range of stats to include in the results. * Defined in terms of "Unix time" */ beginTime: number;
/** * The exclusive end of the range of stats to include in the results. * Defined in terms of "Unix time" */ endTime: number;}UsageStats
Sezione intitolata “UsageStats”Statistiche di utilizzo per un'app Android.
export interface UsageStats { /** * The first timestamp of the usage stats. */ firstTimeStamp: number; /** * The last timestamp of the usage stats. */ lastTimeStamp: number; /** * Only available on Android Q (API level 29) and above. * Will be undefined on lower Android versions. */ lastTimeForegroundServiceUsed?: number; /** * The last time the app was used. */ lastTimeUsed: number; /** * Only available on Android Q (API level 29) and above. * Will be undefined on lower Android versions. */ lastTimeVisible?: number; /** * The name of the package. */ packageName: string; /** * Only available on Android Q (API level 29) and above. * Will be undefined on lower Android versions. */ totalForegroundServiceUsed?: number; /** * The total time the app was in the foreground. */ totalTimeInForeground: number; /** * Only available on Android Q (API level 29) and above. * Will be undefined on lower Android versions. */ totalTimeVisible?: number;}UsageStatsPermissionResult
Sezione intitolata “UsageStatsPermissionResult”Risultato del controllo dei permessi di usage stats.
export interface UsageStatsPermissionResult { /** * Whether the usage stats permission is granted. */ granted: boolean;}PackageInfo
Sezione intitolata “PackageInfo”Rappresenta le informazioni di base su un pacchetto installato.
export interface PackageInfo { /** Package name */ packageName: string; /** App display name */ appName: string; /** Version name string */ versionName: string; /** Version code number */ versionCode: number; /** First install time in milliseconds since epoch */ firstInstallTime: number; /** Last update time in milliseconds since epoch */ lastUpdateTime: number;}Fonte di verità
Sezione intitolata “Fonte di verità”Questa pagina è generata dal src/definitions.ts del plugin. Esegui nuovamente la sync quando la API pubblica cambia upstream.
Continua da Getting Started
Sezione intitolata “Continua da Getting Started”Se stai usando Per iniziare per pianificare dashboard e operazioni API, connettilo a Usando @capgo/capacitor-android-usagestatsmanager per la funzionalità nativa in Usando @capgo/capacitor-android-usagestatsmanager, Panoramica API per i dettagli di implementazione in API Overview, Introduzione per i dettagli di implementazione in Introduction, Chiavi API per i dettagli di implementazione in API Keys, e Dispositivi per i dettagli di implementazione in Devices.