Einstieg
Kopieren Sie einen Einrichtungsprompt mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen 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 lets a Capacitor app register named periodic jobs for sync, cache refreshes, analytics delivery, and other background fetch operations.
Installieren
Abschnitt mit dem Titel “Installieren”Sie können unser AI-gestütztes Setup verwenden, um das Plugin zu installieren. Fügen Sie den Capgo-Fähigkeiten Ihrer AI-Tool mithilfe der folgenden Befehl hinzu:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsVerwenden Sie dann den folgenden Vorschlag:
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 Installation bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und die unten aufgeführten plattformspezifischen Anweisungen befolgen:
npm install @capgo/capacitor-background-tasknpx cap synciOS-Setup
Abschnitt mit dem Titel “iOS-Setup”Fügen Sie dem Hintergrundprozessmodus und der erlaubten Aufgabenidentifikator 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 iosImportieren
Abschnitt mit dem Titel „Importieren“import { BackgroundTask, BackgroundTaskResult } from '@capgo/capacitor-background-task';Eine Aufgabe definieren
Abschnitt mit dem Titel „Eine Aufgabe definieren“Definieren Sie die Callback-Funktion im Modulumfang, 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 Registrierung der Auftragsplanung
Abschnitt mit dem Titel ‘Die Auftragsplanung 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 ist in Minuten angegeben. Android erzwingt eine Mindestlaufzeit von 15 Minuten. iOS behandelt den Wert als frühestes Beginndatum und kann später ausgelöst werden
Status überprüfen
Abschnitt mit dem Titel ‘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 });Einen Testlauf auslösen
Abschnitt mit dem Titel ‘Einen Testlauf auslösen’Verwenden Sie den Testauslöser in der Entwicklung oder QA. Er ruft alle registrierten Aufgaben sofort auf
await BackgroundTask.triggerTaskWorkerForTestingAsync();Abmelden einer Aufgabe
Abschnitt mit dem Titel “Abmelden einer Aufgabe”await BackgroundTask.unregisterTaskAsync(SYNC_TASK);iOS-Ablauf
Abschnitt mit dem Titel “iOS-Ablauf”iOS kann eine Hintergrundaufgabe beenden, bevor Ihre JavaScript-Arbeit abgeschlossen ist. Hören Sie auf Ablaufereignisse, wenn Reinigungs- oder Überprüfungsmaßnahmen relevant sind.
const expiration = await BackgroundTask.addExpirationListener((event) => { console.warn('Background task expired', event.taskName, event.taskId);});
await expiration.remove();Kompatibilität von Hintergrundaufgaben für React Native
Abschnitt mit dem Titel “Kompatibilität von Hintergrundaufgaben für React Native”Der 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”- Hintergrund-Aufträge werden opportunisch und nicht genau geplant.
- Halte deine Arbeit kurz und idempotent.
- Speichere alle Zustände, die du benötigst, bevor du zurückkehrst.
BackgroundTaskResult.Success. - Vermeide es, auf Hintergrund-Aufträge für Benutzer-sichtbare Fristen oder Alarms zu verlassen.
Weiter zum Anfangen
Abschnitt mit dem Titel “Weiter zum Anfangen”Wenn du native Plugin-Arbeit mit Anfangen planst, verbinde es mit Verwendung von @capgo/capacitor-Hintergrundauftrag für die native Fähigkeit in Verwendung von @capgo/capacitor-Hintergrundauftrag, Capgo Plugin-Verzeichnis für den Produktworkflow in Capgo Plugin-Verzeichnis Capacitor Plugins von Capgo für die Implementierungsdetails in Capacitor Plugins von Capgo Hinzufügen oder Aktualisieren von Plugins für die Implementierungsdetails in Hinzufügen oder Aktualisieren von Plugins und Ionische Unternehmens-Plugin-Alternativen für den Produktworkflow in Ionische Unternehmens-Plugin-Alternativen.