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