Accueil __CAPGO_KEEP_0__
@capgo/capacitor-tâche-de-fond APIs de dispositif Open source

Tâche de fond plugin Capacitor

Planifiez des tâches de récupération de fond périodiques sur iOS et Android avec l'enregistrement d'Expo de tâche

Installer

bun add @capgo/capacitor-background-task bunx cap sync
npm, pnpm ou yarn
  • npm install @capgo/capacitor-background-task
  • pnpm add @capgo/capacitor-background-task
  • yarn add @capgo/capacitor-background-task

Guide

Comment utiliser la tâche de fond dans Capacitor

Testez sur appareil

Téléchargez l'application Capgo, puis scannez le code QR code.

Prévisualisation du plugin de tâche de fond QR code

Utilisez @capgo/capacitor-background-task

Planifiez des travaux de récupération de fond périodique dans une application Capacitor avec des tâches nommées, une inscription persistante, des vérifications d'état, la désinscription et un déclencheur de développement. Le plugin utilise Android WorkManager et iOS BGTaskScheduler.

Installer

npm install @capgo/capacitor-background-task
npx cap sync

Configuration iOS

Ajoutez un support de traitement de fond à ios/App/App/Info.plist:

<key>UIBackgroundModes</key>
<array>
  <string>processing</string>
</array>
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
  <string>app.capgo.backgroundtask.processing</string>
</array>

Then run:

npx cap sync ios

Ce que ce plugin expose

  • defineTask - Définissez l'appel de rappel JavaScript pour une tâche nommée.
  • registerTaskAsync - Persister et planifier une tâche périodique.
  • unregisterTaskAsync - Annuler une tâche.
  • isTaskRegisteredAsync - Vérifier l'état d'enregistrement d'une tâche.
  • getRegisteredTasksAsync - Afficher les noms des tâches enregistrées.
  • getStatusAsync - Vérifier la disponibilité des tâches de fond natives.
  • triggerTaskWorkerForTestingAsync - Déclencher les tâches enregistrées immédiatement pour le développement.
  • addExpirationListener - Réagir lorsque iOS expire une tâche.

Exemple d'utilisation

Définir la tâche à l'échelle du module afin qu'elle soit disponible lorsque l'OS réveille l'application :

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

await BackgroundTask.registerTaskAsync(SYNC_TASK, {
  minimumInterval: 30,
  requiresNetwork: true,
});

Vérifier l'état et les noms des tâches enregistrées :

const status = await BackgroundTask.getStatusAsync();
const tasks = await BackgroundTask.getRegisteredTasksAsync();

console.log({ status, tasks });

Déclencher une exécution de développement :

await BackgroundTask.triggerTaskWorkerForTestingAsync();

Annuler la tâche :

await BackgroundTask.unregisterTaskAsync(SYNC_TASK);

Remarques sur la plateforme

  • Les tâches d'arrière-plan sont planifiées à l'occasion, pas des horloges exactes.
  • La période de travail Android a une plage minimale de 15 minutes.
  • iOS traite minimumInterval commencez le plus tôt possible et peuvent s'exécuter plus tard.
  • Testez le traitement d'arrière-plan sur un appareil iOS physique.

Référence complète

Continuez à partir de l'utilisation de @capgo/capacitor-tâche-de-fond

Si vous utilisez Utilisation de @capgo/capacitor-background-task pour planifier le travail du plugin natif, le connecter avec @capgo/capacitor-task-planifiaison-en-arrière-plan pour les détails d'implémentation dans @capgo/capacitor-background-task, Prise en main pour les détails d'implémentation dans Prise en main, Répertoire des plugins Capgo pour le flux de travail du produit dans Répertoire des plugins Capgo, Plugins Capacitor par Capgo pour les détails d'implémentation dans Plugins Capacitor par Capgo, et Ajout ou mise à jour des plugins pour les détails d'implémentation dans Ajout ou mise à jour des plugins.

FAQ

FAQ du plugin de tâche de fond

How installez-vous la tâche de fond dans une application Capacitor ?

Exécutez « bun add @capgo/capacitor-background-task » (ou « npm install @capgo/capacitor-background-task »), puis exécutez « bunx cap sync » afin que les projets iOS et Android prennent en charge les natives code. Importez-l’à partir de « @capgo/capacitor-background-task » dans votre application code.

La tâche de fond @capgo/capacitor-background-task fonctionne-t-elle avec React, Vue et Angular ?

Oui. La tâche de fond est un package Capacitor, elle fonctionne donc avec tout framework web qui s'exécute à l'intérieur de Capacitor, y compris Ionic, React, Vue, Angular, Svelte et JavaScript simple.

Quelle version de Capacitor supporte @capgo/capacitor-background-task ?

Les plugins Capgo suivent la version majeure de Capacitor : utilisez la version majeure du plugin qui correspond à la version majeure de votre Capacitor (par exemple, plugin v8 avec Capacitor 8). La table de compatibilité dans le README du GitHub liste les versions maintenues.

Est-ce que @capgo/capacitor-background-task est gratuit et open source ?

Oui. Le code source code est public sur GitHub à l'adresse https://github.com/Cap-go/capacitor-background-task/ et le package est gratuit pour l'installer depuis npm. Les rapports de bogues et les demandes de modification sont les bienvenus.

Puis-je mettre à jour code qui utilise Background Task sans passer par une revue de l'App Store ?

L'installation ou la mise à niveau du plugin modifie les natives code, il faut donc une nouvelle mise à jour de l'application. Après cela, les modifications JavaScript, HTML et CSS qui appellent le plugin peuvent être envoyées instantanément avec les mises à jour Capgo.

Envoyez les modifications de la tâche de fond sans attendre la revue de l'application

Une fois le plugin est dans votre magasin de build, Capgo les mises à jour en direct push vos modifications de JavaScript, HTML et CSS vers les utilisateurs en quelques minutes.

Démarrer avec Capgo