Einstieg
Einen Einrichtungsprompt mit den Installationsanweisungen und der vollständigen Markdown-Guideline 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 erlaubt einem Capacitor-Anwendungs-Registrieren benannter periodischer Aufgaben für Synchronisierung, Cache-Refreshes, Analytics-Delivery und andere Hintergrundabfragen.
Installieren
Abschnitt mit dem Titel “Installieren”Sie können unsere AI-gestützte Einrichtung verwenden, um das Plugin zu installieren. Fügen Sie die Capgo-Fähigkeiten zu Ihrem AI-Tool hinzu, indem Sie den folgenden Befehl ausführen:
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 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 die Hintergrundverarbeitungsmodus und die genehmigte 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ühesten Beginndatum und kann später ausführen.
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 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 eine Hintergrundaufgabe beenden, bevor Ihr JavaScript-Code abgeschlossen ist. Hören Sie auf Ablaufereignisse, wenn Reinigungs- oder Überprüfungsprozesse 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”- Hintergrundschaltungen erfolgen opportunistisch, nicht genau.
- 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 Hintergrundschaltungen für sichtbare Fristen oder Alarms zu verlassen.
Fortsetzen Sie mit Fortsetzen
Abschnitt mit dem Titel “Fortsetzen Sie mit Fortsetzen”Wenn Sie native Plugin-Arbeit planen, verbinden Sie sie mit Fortsetzen mit Verwenden Sie @capgo/capacitor-Hintergrundschaltung für die native Fähigkeit in Verwenden Sie @capgo/capacitor-Hintergrundschaltung, Capgo Plugin-Verzeichnis für den Produktworkflow im Capgo Plugin-Verzeichnis Capacitor Plugins von Capgo für die Implementierungsdetails in Capacitor Plugins von Capgo Plugins hinzufügen oder aktualisieren für die Implementierungsdetails in Plugins hinzufügen oder aktualisieren und Ionische Unternehmensplugin-Alternativen für den Produktworkflow in Ionischen Unternehmensplugin-Alternativen.