Memulai
Instalasi
Section titled “Instalasi”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 syncKonfigurasi Platform
Section titled “Konfigurasi Platform”Android
Section titled “Android”Tambahkan izin yang diperlukan ke android/app/src/main/AndroidManifest.xml Anda:
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" /><uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />Contoh Penggunaan
Section titled “Contoh Penggunaan”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);Referensi API
Section titled “Referensi API”isUsageStatsPermissionGranted()
Section titled “isUsageStatsPermissionGranted()”isUsageStatsPermissionGranted() => Promise<{ granted: boolean }>Periksa apakah izin PACKAGE_USAGE_STATS diberikan.
Mengembalikan: Promise<{ granted: boolean }>
openUsageStatsSettings()
Section titled “openUsageStatsSettings()”openUsageStatsSettings() => Promise<void>Buka halaman pengaturan sistem untuk memberikan izin statistik penggunaan.
queryAndAggregateUsageStats(options)
Section titled “queryAndAggregateUsageStats(options)”queryAndAggregateUsageStats(options: UsageStatsOptions) => Promise<UsageStatsResult>Query statistik penggunaan terperinci untuk aplikasi yang terinstal.
| Param | Type |
|---|---|
options | UsageStatsOptions |
Mengembalikan: Promise<UsageStatsResult>
queryAllPackages()
Section titled “queryAllPackages()”queryAllPackages() => Promise<PackagesResult>Dapatkan informasi tentang semua paket yang terinstal di perangkat.
Mengembalikan: Promise<PackagesResult>
Interface
Section titled “Interface”UsageStatsOptions
Section titled “UsageStatsOptions”| Prop | Type | Description |
|---|---|---|
intervalType | number | Tipe interval (0=DAILY, 1=WEEKLY, 2=MONTHLY, dll.) |
startTime | number | Waktu mulai dalam milidetik |
endTime | number | Waktu akhir dalam milidetik |
UsageStatsResult
Section titled “UsageStatsResult”Berisi data statistik penggunaan untuk setiap aplikasi:
- Waktu penggunaan dan frekuensi aplikasi
- Waktu pertama dan terakhir digunakan
- Total waktu di foreground
- Jumlah peluncuran
PackagesResult
Section titled “PackagesResult”Berisi informasi tentang paket yang terinstal:
- Nama paket dan versi
- Waktu instalasi
- Label dan ikon aplikasi
- Aplikasi sistem vs pengguna
Penanganan Izin
Section titled “Penanganan Izin”Plugin memerlukan izin khusus yang tidak dapat diberikan melalui permintaan izin runtime normal:
- PACKAGE_USAGE_STATS: Memungkinkan akses ke statistik penggunaan
- QUERY_ALL_PACKAGES: Diperlukan untuk informasi paket (Android 11+)
Pengguna harus memberikan izin ini secara manual melalui pengaturan sistem. Gunakan openUsageStatsSettings() untuk mengarahkan pengguna ke halaman pengaturan yang sesuai.
Praktik Terbaik
Section titled “Praktik Terbaik”- Selalu periksa status izin sebelum query statistik penggunaan
- Tangani penolakan izin dengan baik dengan pesan yang ramah pengguna
- Pertimbangkan privasi pengguna saat mengumpulkan data penggunaan
- Implementasikan praktik penanganan dan penyimpanan data yang tepat
- Ikuti kebijakan Google Play untuk pengumpulan data penggunaan
Kasus Penggunaan
Section titled “Kasus Penggunaan”- Aplikasi kesejahteraan digital: Pantau waktu layar dan penggunaan aplikasi
- Kontrol orang tua: Lacak penggunaan perangkat anak-anak
- Aplikasi produktivitas: Analisis pola kerja dan waktu fokus
- Analitik: Pahami perilaku pengguna dan keterlibatan aplikasi