Getting Started
Einen Einrichtungsprompt mit den Installationsanweisungen und der vollständigen Markdown-Dokumentation 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-Anwendungsname regelmäßige Jobs für Synchronisierungen, Cache-Refreshes, Analysenlieferungen und andere Hintergrundabfragen zu.
Installieren
Abschnitt mit dem Titel “Installieren”npm install @capgo/capacitor-background-tasknpx cap synciOS-Einrichtung
Abschnitt mit dem Titel “iOS-Einrichtung”Fügen Sie den Hintergrundverarbeitungsmodus und die zulässige Aufgabenidentifikation 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 den Callback auf Modul-Ebene, damit er 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; }});Registrieren Sie das Zeitplan
Sektion mit dem Titel „Registrieren Sie das Zeitplan“Aufrufen registerTaskAsync nachdem Ihr App genügend Kontext hat, um den Hintergrundjob zu aktivieren.
await BackgroundTask.registerTaskAsync(SYNC_TASK, { minimumInterval: 30, requiresNetwork: true,});minimumInterval liegt in Minuten. Android erzwingt eine Mindestzeit von 15 Minuten. iOS behandelt den Wert als frühesten Beginndatum und kann später laufen.
Status überprüfen
Sektion 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 });Eine Testausführung auslösen
Sektion mit dem Titel „Eine Testausführung auslösen“Verwenden Sie den Testauslöser in der Entwicklung oder QA. Er ruft jeden registrierten Auftrag sofort auf.
await BackgroundTask.triggerTaskWorkerForTestingAsync();Eine Aufgabe abmelden
Abschnitt mit dem Titel “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 sich die Ablauf-Events an, wenn Reinigungs- oder Checkpoint-Vorgänge relevant sind.
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”Der Plugin bietet auch eine kleine Kompatibilitäts-Schicht 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 opportun, nicht exakt.
- Halten Sie die Arbeit kurz und idempotent.
- Speichern Sie jeden Zustand, den Sie benötigen, bevor Sie zurückkehren.
BackgroundTaskResult.Success. - Vermeiden Sie es, sich auf Hintergrundaufgaben für sichtbare Fristen oder Alarms zu verlassen.
Weitermachen Sie von Anfang an
Abschnitt mit dem Titel „Weitermachen Sie von Anfang an“Wenn Sie Anfangen für die Planung von native Plug-in-Arbeiten verwenden, verbinden Sie es mit Verwenden Sie @capgo/capacitor-Hintergrundaufgabe für die native Fähigkeit in Verwendung von @capgo/capacitor-Hintergrundaufgabe 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 Ionic Enterprise-Plugin-Alternativen für den Produktworkflow in Ionic Enterprise-Plugin-Alternativen