Getting Started
Copiez une commande de configuration avec les étapes d'installation et la guide markdown complète pour ce plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-background-task`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/background-task/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
@capgo/capacitor-background-task Permet à une application Capacitor de s'inscrire pour des tâches périodiques de synchronisation, de mise à jour du cache, de livraison d'analytiques et d'autres opérations de récupération de fond d'écran.
Installer
Section intitulée « Installer »Vous pouvez utiliser notre configuration assistée par l'IA pour installer le plugin. Ajoutez les Capgo compétences à votre outil IA à l'aide de la commande suivante :
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsEnsuite, utilisez la prompt suivante :
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-background-task` plugin in my project.Si vous préférez la configuration manuelle, installez le plugin en exécutant les commandes suivantes et suivez les instructions spécifiques à la plateforme ci-dessous :
npm install @capgo/capacitor-background-tasknpx cap syncConfiguration iOS
Section intitulée « Configuration iOS »Ajoutez le mode de traitement en arrière-plan et l'identifiant de la tâche autorisée à ios/App/App/Info.plist:
<key>UIBackgroundModes</key><array> <string>processing</string></array><key>BGTaskSchedulerPermittedIdentifiers</key><array> <string>app.capgo.backgroundtask.processing</string></array>Exécutez ensuite :
npx cap sync iosImporter
Section intitulée « Importer »import { BackgroundTask, BackgroundTaskResult } from '@capgo/capacitor-background-task';Définir une tâche
Section intitulée « Définir une tâche »Définissez l'appel de rappel au niveau du module afin qu'il soit enregistré dès que l'application est lancée par le système d'exploitation.
import { BackgroundTask, BackgroundTaskResult } from '@capgo/capacitor-background-task';
const SYNC_TASK = 'sync-offline-data';
BackgroundTask.defineTask(SYNC_TASK, async () => { try { await fetch('https://api.example.com/sync', { method: 'POST' }); return BackgroundTaskResult.Success; } catch { return BackgroundTaskResult.Failed; }});Enregistrer le planning
Titre de la section « Enregistrer Le Planning »Appeler registerTaskAsync Après que votre application dispose d'un contexte suffisant pour activer le travail en arrière-plan.
await BackgroundTask.registerTaskAsync(SYNC_TASK, { minimumInterval: 30, requiresNetwork: true,});minimumInterval est en minutes. Android impose un minimum de 15 minutes. iOS traite la valeur comme une date de début la plus tôt et peut exécuter plus tard.
Vérifier l'état
Titre de la section « Vérifier l'état »const status = await BackgroundTask.getStatusAsync();const isRegistered = await BackgroundTask.isTaskRegisteredAsync(SYNC_TASK);const registeredTasks = await BackgroundTask.getRegisteredTasksAsync();
console.log({ status, isRegistered, registeredTasks });Déclencher Un Test
Titre de la section « Déclencher Un Test »Utilisez le déclencheur de test en développement ou en QA. Il appelle immédiatement chaque tâche enregistrée.
await BackgroundTask.triggerTaskWorkerForTestingAsync();Désinscrire une Tâche
Section intitulée “Désinscrire une Tâche”await BackgroundTask.unregisterTaskAsync(SYNC_TASK);Expiration iOS
Section intitulée “Expiration iOS”iOS peut interrompre une tâche de fond avant que votre travail JavaScript ne se termine. Écoutez les événements d'expiration lorsque des opérations de nettoyage ou de point de contrôle sont importantes.
const expiration = await BackgroundTask.addExpirationListener((event) => { console.warn('Background task expired', event.taskName, event.taskId);});
await expiration.remove();Compatibilité de la Tâche de Fond pour React Native
Section intitulée “Compatibilité de la Tâche de Fond pour React Native”Le plugin expose également une petite couche de compatibilité pour les applications en train de migrer depuis react-native-background-task.
import { BackgroundTask } from '@capgo/capacitor-background-task';
BackgroundTask.define(async () => { await fetch('https://api.example.com/sync', { method: 'POST' });});
await BackgroundTask.schedule({ period: 1800,});Notes de Production
Section intitulée « Notes de production »- La planification en arrière-plan est opportuniste, et non exacte.
- Gardez vos tâches courtes et idempotentes.
- Sauvegardez tout l'état dont vous avez besoin avant de retourner
BackgroundTaskResult.Success. - Évitez de vous fier aux tâches en arrière-plan pour les délais ou les alarmes visibles par l'utilisateur.
Continuez de Getting Started
Section intitulée « Continuez de Getting Started »Si vous utilisez Getting Started pour planifier le travail de plugin natif, connectez-l’avec Utilisez @capgo/capacitor-background-task pour la capacité native dans Utilisez @capgo/capacitor-background-task, Répertoire du plugin Capgo pour le flux de travail du produit dans le Capgo Répertoire du plugin Capacitor Plugins par Capgo pour le détail d'implémentation dans les Capacitor Plugins par Capgo Ajouter ou Mettre à Jour les Plugins pour le détail d'implémentation dans Ajouter ou Mettre à Jour les Plugins, et Alternatives de Plugins d'Entreprise Ionic pour le flux de travail du produit dans les Alternatives de Plugins d'Entreprise Ionic.