メインコンテンツにジャンプ
プラグインに戻る
@capgo/capacitor-android-usagestatsmanager
チュートリアル
githubのチュートリアル

使用状況管理

Androidの使用状況統計を取得して、アプリの使用時間と画面時間の分析を実行します。

ガイド

使用状況統計管理者のチュートリアル

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}`);
});

フル リファレンス