ガイド
使用状況統計管理者のチュートリアル
capgoのcapacitor-android-usagestatsmanagerを使用する方法
Capacitorプラグイン: Androidの使用状況統計管理者APIにアクセスする
インストール
bun add @capgo/capacitor-android-usagestatsmanager
bunx cap sync
このプラグインが公開するもの
queryAndAggregateUsageStats- 指定された時間範囲の使用状況統計を検索して集計します。isUsageStatsPermissionGranted- 使用状況統計の許可が与えられているかどうかを確認します。openUsageStatsSettings- 使用状況統計の設定画面を開きます。この画面は、ユーザーに使用状況統計の許可を付与するように求めます。許可が既に付与されている場合でも、常に設定画面を開きます。queryAllPackages- __targetLanguage__ のインストールされているすべてのパッケージを検索します。QUERY_ALL_PACKAGES パーミッションが必要です。
使用例
queryAndAggregateUsageStats
__targetLanguage__ の使用状況統計を検索し、指定された期間にわたって統合します。
import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
const oneDayAgo = Date.now() - 24 * 60 * 60 * 1000;
const now = Date.now();
const stats = await UsageStatsManager.queryAndAggregateUsageStats({
beginTime: oneDayAgo,
endTime: now
});
for (const [packageName, usageData] of Object.entries(stats)) {
console.log(`${packageName}: ${usageData.totalTimeInForeground}ms`);
}
isUsageStatsPermissionGranted
使用状況統計のパーミッションが許可されているかどうかを確認します。
import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
const { granted } = await UsageStatsManager.isUsageStatsPermissionGranted();
if (!granted) {
await UsageStatsManager.openUsageStatsSettings();
}
openUsageStatsSettings
__targetLanguage__ の使用状況統計設定画面を開きます。この設定画面を開くと、ユーザーが使用状況統計のパーミッションを許可することができます。この設定画面は、パーミッションが既に許可されている場合でも常に開きます。
import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
await UsageStatsManager.openUsageStatsSettings();
queryAllPackages
デバイス上のすべてのインストールされているパッケージを検索します。QUERY_ALL_PACKAGES パーミッションが必要です。
import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
const { packages } = await UsageStatsManager.queryAllPackages();
packages.forEach(pkg => {
console.log(`${pkg.appName} (${pkg.packageName}): v${pkg.versionName}`);
});
フル リファレンス
- GitHub: https://github.com/Cap-go/capacitor-android-usagestatsmanager/
- ドキュメント: /docs/plugins/android-usagestatsmanager/