はじめに
インストール
Section titled “インストール”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 syncプラットフォーム設定
Section titled “プラットフォーム設定”Android
Section titled “Android”必要な権限をandroid/app/src/main/AndroidManifest.xmlに追加:
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" /><uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />import { AndroidUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
// 権限が許可されているか確認const permissionResult = await AndroidUsageStatsManager.isUsageStatsPermissionGranted();if (!permissionResult.granted) { // 権限を許可するために設定を開く await AndroidUsageStatsManager.openUsageStatsSettings(); return;}
// 過去7日間の使用統計をクエリconst statsOptions = { intervalType: 0, // INTERVAL_DAILY startTime: Date.now() - (7 * 24 * 60 * 60 * 1000), // 7日前 endTime: Date.now()};
const usageStats = await AndroidUsageStatsManager.queryAndAggregateUsageStats(statsOptions);console.log('Usage statistics:', usageStats);
// インストールされているすべてのパッケージを取得const packages = await AndroidUsageStatsManager.queryAllPackages();console.log('Installed packages:', packages);APIリファレンス
Section titled “APIリファレンス”isUsageStatsPermissionGranted()
Section titled “isUsageStatsPermissionGranted()”isUsageStatsPermissionGranted() => Promise<{ granted: boolean }>PACKAGE_USAGE_STATS権限が許可されているか確認します。
戻り値: Promise<{ granted: boolean }>
openUsageStatsSettings()
Section titled “openUsageStatsSettings()”openUsageStatsSettings() => Promise<void>使用統計権限を許可するためのシステム設定ページを開きます。
queryAndAggregateUsageStats(options)
Section titled “queryAndAggregateUsageStats(options)”queryAndAggregateUsageStats(options: UsageStatsOptions) => Promise<UsageStatsResult>インストールされているアプリの詳細な使用統計をクエリします。
| パラメータ | 型 |
|---|---|
options | UsageStatsOptions |
戻り値: Promise<UsageStatsResult>
queryAllPackages()
Section titled “queryAllPackages()”queryAllPackages() => Promise<PackagesResult>デバイスにインストールされているすべてのパッケージに関する情報を取得します。
戻り値: Promise<PackagesResult>
インターフェース
Section titled “インターフェース”UsageStatsOptions
Section titled “UsageStatsOptions”| プロパティ | 型 | 説明 |
|---|---|---|
intervalType | number | 間隔タイプ(0=DAILY、1=WEEKLY、2=MONTHLY など) |
startTime | number | ミリ秒単位の開始時刻 |
endTime | number | ミリ秒単位の終了時刻 |
UsageStatsResult
Section titled “UsageStatsResult”各アプリの使用統計データを含む:
- アプリの使用時間と頻度
- 最初と最後に使用された時刻
- フォアグラウンドでの合計時間
- 起動回数
PackagesResult
Section titled “PackagesResult”インストールされているパッケージに関する情報を含む:
- パッケージ名とバージョン
- インストール時刻
- アプリのラベルとアイコン
- システムアプリ対ユーザーアプリ
このプラグインは、通常のランタイム権限リクエストでは許可できない特別な権限が必要です:
- PACKAGE_USAGE_STATS: 使用統計へのアクセスを許可
- QUERY_ALL_PACKAGES: パッケージ情報に必要(Android 11以降)
ユーザーはシステム設定を通じてこれらの権限を手動で許可する必要があります。openUsageStatsSettings()を使用して、ユーザーを適切な設定ページに誘導します。
ベストプラクティス
Section titled “ベストプラクティス”- 使用統計をクエリする前に常に権限ステータスを確認
- 権限拒否をユーザーフレンドリーなメッセージで適切に処理
- 使用データを収集する際のユーザープライバシーを考慮
- 適切なデータ処理とストレージプラクティスを実装
- 使用データ収集のためのGoogle Playポリシーに従う
ユースケース
Section titled “ユースケース”- デジタルウェルビーイングアプリ: スクリーンタイムとアプリ使用を監視
- ペアレンタルコントロール: 子供のデバイス使用を追跡
- 生産性アプリ: 作業パターンと集中時間を分析
- 分析: ユーザー行動とアプリエンゲージメントを理解