Aller au contenu

Prise en main

GitHub

Vous pouvez utiliser notre configuration assistée par IA pour installer le plugin. Ajoutez les skills Capgo à votre outil d'IA avec la commande suivante :

Fenêtre de terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Utilisez ensuite le prompt suivant :

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

Si vous préférez une installation manuelle, installez le plugin en exécutant les commandes suivantes et suivez les instructions spécifiques à chaque plateforme ci-dessous :

Fenêtre de terminal
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}`);
});
  • Sync native : exécuter npx cap sync après les mises à jour du plugin.
  • Source de vérité : fiez-vous src/definitions.ts au repo GitHub.

Interroge et agrège les statistiques d'utilisation sur la période donnée.

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

Vérifie si la permission des statistiques d'utilisation est accordée.

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

Ouvrir l'écran des paramètres d'utilisation des statistiques. Cela ouvrira l'écran des paramètres d'utilisation des statistiques, permettant à l'utilisateur d'accorder la permission d'accès aux statistiques d'utilisation. Cela ouvrira systématiquement l'écran des paramètres, même si la permission est déjà accordée.

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

Interroge tous les packages installés sur l'appareil. Nécessite la permission 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}`);
});

Options pour interroger les statistiques d'utilisation.

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

Usage statistics for an Android app.

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

Résultat d'une vérification de la permission usage stats.

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

Représente les informations de base d'un package installé.

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

Cette page est générée à partir de src/definitions.ts. Relancez la synchronisation lorsque l’API public change en amont.

Si vous utilisez Prise en main pour planifier les opérations du dashboard et de API, connectez-l’avec Utiliser @capgo/capacitor-android-usagestatsmanager pour la fonctionnalité native dans Utiliser @capgo/capacitor-android-usagestatsmanager, Aperçu de API pour les détails d'implémentation dans « Vue d'ensemble de API », Introduction pour les détails d'implémentation dans l'introduction, Clés API pour les détails d'implémentation dans « Clés API », et Appareils pour les détails d'implémentation dans Devices.