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-Name, periodische Jobs für Synchronisierung, Cache-Refreshes, Analytics-Übermittlung und andere Hintergrundabfragen zu registrieren.
Installieren
Abschnitt mit dem Titel “Install”Sie können unsere AI-gestützte Einrichtung verwenden, um das Plugin zu installieren. Fügen Sie den Capgo-Fähigkeiten Ihrer AI-Werkzeug mit dem 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 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 Hintergrundverarbeitungsmodus 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 Anmeldung registrieren
Abschnitt mit dem Titel ‘Die Auftragsplanung registrieren’Rufen Sie an 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 Mindestzeit von 15 Minuten. iOS behandelt den Wert als frühesten 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 jeden registrierten Auftrag 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 Ihr JavaScript-Code abgeschlossen ist. Hören Sie auf Ablaufereignisse, wenn Reinigungs- oder Checkpoint-Aufgaben 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-Ausführung 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 Hintergrund-Aufgaben für Benutzer-sichtbare Fristen oder Alarms zu verlassen.
Weitergehen von Getting Started
Abschnitt mit dem Titel “Weitergehen von Getting Started”Wenn Sie native Plugin-Arbeit planen, verbinden Sie es mit Getting Started Verbinden Sie es mit Using @capgo/capacitor-Hintergrundaufgabe für die native Fähigkeit in Using @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 Ionische Unternehmens-Plugin-Alternativen für den Produktworkflow in Ionische Unternehmens-Plugin-Alternativen.