Panduan Memulai
Copy prompt setup berisi langkah install dan panduan markdown lengkap untuk plugin ini.
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.
Anda bisa menggunakan AI-Assisted Setup untuk menginstal plugin ini. Tambahkan skill Capgo ke tool AI Anda menggunakan perintah berikut:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLalu gunakan prompt berikut:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-android-usagestatsmanager` plugin in my project.Jika Anda lebih suka Manual Setup, instal plugin dengan menjalankan perintah berikut dan ikuti instruksi khusus platform di bawah ini:
bun add @capgo/capacitor-android-usagestatsmanagernpx cap syncimport { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';Mulai cepat
Bagian berjudul “Mulai cepat”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`);}Contoh: queryUsageStats
Bagian berjudul “Contoh: 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`);});Contoh: queryEvents
Bagian berjudul “Contoh: 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}`);});Masalah umum
Bagian berjudul “Kesalahan umum”- Sinkronisasi native: jalankan
npx cap syncsetelah upgrade plugin. - Sumber kebenaran: percaya
src/definitions.tspada repo GitHub.
Ikhtisar API
Bagian berjudul “Ikhtisar API”queryAndAggregateUsageStats
Bagian berjudul “queryAndAggregateUsageStats”Melakukan query dan agregasi statistik penggunaan untuk rentang waktu tertentu.
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
Bagian berjudul “isUsageStatsPermissionGranted”Memeriksa apakah izin statistik penggunaan sudah diberikan.
import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
const { granted } = await CapacitorUsageStatsManager.isUsageStatsPermissionGranted();if (!granted) { await CapacitorUsageStatsManager.openUsageStatsSettings();}openUsageStatsSettings
Bagian berjudul “openUsageStatsSettings”Buka layar pengaturan statistik penggunaan. Ini akan membuka layar pengaturan statistik penggunaan, sehingga pengguna dapat memberikan izin statistik penggunaan. Ini akan selalu membuka layar pengaturan, meskipun izin sudah diberikan.
import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
await CapacitorUsageStatsManager.openUsageStatsSettings();queryAllPackages
Bagian berjudul “queryAllPackages”Melakukan query ke semua package yang terinstal di perangkat. Membutuhkan izin 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}`);});Referensi Tipe
Bagian berjudul “Type Reference”UsageStatsOptions
Bagian berjudul “UsageStatsOptions”Opsi untuk melakukan query statistik penggunaan.
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
Bagian berjudul “UsageStats”Statistik penggunaan untuk aplikasi 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
Bagian berjudul “UsageStatsPermissionResult”Hasil dari pengecekan izin statistik penggunaan.
export interface UsageStatsPermissionResult { /** * Whether the usage stats permission is granted. */ granted: boolean;}PackageInfo
Bagian berjudul “PackageInfo”Merepresentasikan informasi dasar tentang paket yang terinstal.
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;}Sumber Kebenaran
Bagian berjudul “Sumber Kebenaran”Halaman ini dibuat dari plugin src/definitions.ts. Jalankan ulang sync saat API publik berubah di upstream.
Lanjutkan dari Getting Started
Bagian berjudul “Lanjutkan dari Getting Started”Jika Anda menggunakan Panduan Memulai untuk merencanakan operasi dashboard dan API, hubungkan dengan Menggunakan @capgo/capacitor-android-usagestatsmanager untuk kapabilitas native di Menggunakan @capgo/capacitor-android-usagestatsmanager, Ikhtisar API untuk detail implementasi di Ringkasan API, Pendahuluan untuk detail implementasi di Pendahuluan, Kunci API untuk detail implementasi di API Keys, dan Perangkat untuk detail implementasi di Perangkat.