Anfang
Ein Setup-Vorlage mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin kopieren.
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 lässt ein Capacitor-App namens periodische Jobs für Synchronisierung, Cache-Refreshes, Analytics-Übermittlung und andere Hintergrundabfragen registrieren.
Installieren
Abschnitt mit dem Titel „Installieren“Mit unserer AI-gestützten Setup können Sie das Plugin installieren. Fügen Sie den Capgo-Fähigkeiten Ihrem AI-Tool mit folgendem Befehl hinzu:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsDann verwenden Sie die folgende Anweisung:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-background-task` plugin in my project.Wenn Sie die manuelle Einrichtung bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und folgen Sie den unten angegebenen Plattform-spezifischen Anweisungen:
npm install @capgo/capacitor-background-tasknpx cap synciOS-Einrichtung
Abschnitt mit dem Titel „iOS-Einrichtung”Fügen Sie dem Hintergrundprozessmodus und der erlaubten Aufgabenidentifikationsnummer hinzu: ios/App/App/Info.plist:
<key>UIBackgroundModes</key><array> <string>processing</string></array><key>BGTaskSchedulerPermittedIdentifiers</key><array> <string>app.capgo.backgroundtask.processing</string></array>Dann ausführen:
npx cap sync iosimport { BackgroundTask, BackgroundTaskResult } from '@capgo/capacitor-background-task';Eine Aufgabe definieren
Abschnitt mit dem Titel „Eine Aufgabe definieren“Definieren Sie die Callback-Funktion im Modulbereich, damit sie so schnell wie möglich beim Start des Betriebssystems registriert wird.
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; }});Die Zeitplanung registrieren
Abschnitt mit dem Titel „Die Zeitplanung registrieren“Aufrufen registerTaskAsync nachdem Ihr App genügend Kontext hat, um den Hintergrundjob zu aktivieren.
await BackgroundTask.registerTaskAsync(SYNC_TASK, { minimumInterval: 30, requiresNetwork: true,});minimumInterval wird in Minuten angezeigt. Android erzwingt einen Mindestwert von 15 Minuten. iOS behandelt den Wert als frühesten Beginn und kann später laufen.
Status überprüfen
Abschnitt „Status überprüfen“const status = await BackgroundTask.getStatusAsync();const isRegistered = await BackgroundTask.isTaskRegisteredAsync(SYNC_TASK);const registeredTasks = await BackgroundTask.getRegisteredTasksAsync();
console.log({ status, isRegistered, registeredTasks });Ein Testlauf auslösen
Abschnitt „Ein Testlauf auslösen“Verwenden Sie den Testtrigger in der Entwicklung oder QA. Er ruft alle registrierten Aufgaben sofort auf.
await BackgroundTask.triggerTaskWorkerForTestingAsync();Eine Aufgabe abmelden
Abschnitt „Eine Aufgabe abmelden“await BackgroundTask.unregisterTaskAsync(SYNC_TASK);iOS-Ablauf
Abschnitt mit dem Titel „iOS-Ablauf“iOS kann einen Hintergrundauftrag vorzeitig beenden, bevor Ihr JavaScript-Code abgeschlossen ist. Hören Sie auf Ablaufereignisse, wenn die Reinigung oder das Checkpointen relevant ist.
const expiration = await BackgroundTask.addExpirationListener((event) => { console.warn('Background task expired', event.taskName, event.taskId);});
await expiration.remove();Kompatibilität von Hintergrundaufträgen in React Native
Abschnitt mit dem Titel „Kompatibilität von Hintergrundaufträgen in React Native“Das Plugin bietet auch eine kleine Kompatibilitätslayer für Apps, die von 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,});Produktionshinweise
Abschnitt mit dem Titel „Produktionshinweise“- Hintergrundscheduling ist opportunistisch, nicht genau.
- Arbeit kurz halten und idempotent.
- Jede notwendige Zustandsänderung speichern, bevor Sie zurückkehren.
BackgroundTaskResult.Success. - Vermeiden Sie es, sich auf Hintergrundaufgaben für sichtbare Fristen oder Alarms zu verlassen.
Weitergehen von Getting Started
Abschnitt mit dem Titel “Weitergehen von Getting Started”Wenn Sie " Getting Started für die Planung von native Plugin-Arbeiten verwenden, verbinden Sie es mit Mit @capgo/capacitor-Hintergrundaufgabe für die native Fähigkeit in Mit @capgo/capacitor-Hintergrundaufgabe, Capgo Plugin-Ordner für den Produktworkflow in Capgo Plugin-Ordner, Capacitor Plugins by Capgo for the implementation detail in Capacitor Plugins by Capgo, Plugins hinzufügen oder aktualisieren für die Implementierungsdetails in Plugins hinzufügen oder aktualisieren, und Alternativen zu Ionic Enterprise Plugins für den Produktworkflow in Alternativen zu Ionic Enterprise Plugins.