본문 바로가기

시작하기

GitHub

AI 지원 설정으로 플러그인을 설치할 수 있습니다. 다음 명령어로 AI 도구에 Capgo 스킬을 추가하세요:

터미널 창
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

그다음 아래 prompt를 사용하세요:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-android-usagestatsmanager` plugin in my project.

Manual Setup을 선호한다면, 다음 명령어를 실행하여 플러그인을 설치하고 아래의 플랫폼별 지침을 따르세요:

터미널 창
bun add @capgo/capacitor-android-usagestatsmanager
npx cap sync
import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
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`);
}
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`);
});
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}`);
});
  • 네이티브 동기화: 실행 npx cap sync 플러그인 업그레이드 후.
  • 단일 진실 공급원: 신뢰 src/definitions.ts GitHub 레포지토리에서.

queryAndAggregateUsageStats

“queryAndAggregateUsageStats” 섹션

지정된 시간 범위 내의 사용 통계를 조회하고 집계합니다.

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

“isUsageStatsPermissionGranted” 섹션

사용 통계 권한이 허용되었는지 확인합니다.

import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
const { granted } = await CapacitorUsageStatsManager.isUsageStatsPermissionGranted();
if (!granted) {
await CapacitorUsageStatsManager.openUsageStatsSettings();
}

사용 통계 설정 화면을 엽니다. 사용자가 사용 통계 권한을 부여할 수 있도록 설정 화면을 엽니다. 권한이 이미 허용된 상태라도 항상 설정 화면이 열립니다.

import { CapacitorUsageStatsManager } from '@capgo/capacitor-android-usagestatsmanager';
await CapacitorUsageStatsManager.openUsageStatsSettings();

기기에 설치된 모든 패키지를 조회합니다. 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}`);
});

사용 통계 조회를 위한 옵션입니다.

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

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

“UsageStatsPermissionResult” 섹션

사용 통계 권한 확인 결과입니다.

export interface UsageStatsPermissionResult {
/**
* Whether the usage stats permission is granted.
*/
granted: boolean;
}

설치된 패키지에 대한 기본 정보를 나타냅니다.

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

이 페이지는 플러그인의 src/definitions.ts에서 생성되었습니다. public API가 업스트림에서 변경되면 동기화를 다시 실행하세요.

사용 중인 경우 시작하기 대시보드와 API 운영을 계획하려면, 이를 다음 항목과 연결하세요: @capgo/capacitor-android-usagestatsmanager 사용하기 @capgo/capacitor-android-usagestatsmanager를 사용하여 네이티브 기능을 구현할 때, API 개요 API Overview의 구현 상세 내용은 소개 Introduction의 구현 상세 내용은 API 키 API Keys의 구현 세부 사항은, 디바이스 Devices의 구현 세부 사항은.