Einstieg
Eine Einrichtungsanweisung 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-Anwendungsprogramm regelmäßige Aufgaben für Synchronisierungen, Cache-Refreshes, die Lieferung von Analysedaten und andere Hintergrundabfragen 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 Ihre AI-Werkzeug hinzufügen, indem Sie den folgenden Befehl ausführen:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsVerwenden Sie dann den folgenden Prompt:
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 plattform-spezifischen Anweisungen unten:
npm install @capgo/capacitor-background-tasknpx cap synciOS-Einrichtung
Abschnitt mit dem Titel “iOS-Einrichtung”Fügen Sie die Hintergrundverarbeitung und die genehmigte 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 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 Auftragsplanung registrieren
Abschnitt mit dem Titel „Registrieren Sie das Zeitplan“Anruf registerTaskAsync warten Sie, bis Ihr App genügend Kontext hat, um den Hintergrundjob zu aktivieren.
await BackgroundTask.registerTaskAsync(SYNC_TASK, { minimumInterval: 30, requiresNetwork: true,});minimumInterval Die Zeit ist in Minuten angegeben. Android erzwingt eine Mindestzeit von 15 Minuten. iOS behandelt den Wert als frühesten Beginndatum und kann später laufen.
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 });Testlauf auslösen
Abschnitt mit dem Titel „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 entregisteren
Abschnitt mit dem Titel „Eine Aufgabe entregisteren“await BackgroundTask.unregisterTaskAsync(SYNC_TASK);iOS-Ablaufzeit
Abschnitt mit dem Titel „iOS-Ablaufzeit“iOS kann einen Hintergrundauftrag vor dem Abschluss Ihrer JavaScript-Arbeit beenden. Hören Sie sich bei der Reinigung oder beim Checkpointen auf Ablaufereignisse an.
const expiration = await BackgroundTask.addExpirationListener((event) => { console.warn('Background task expired', event.taskName, event.taskId);});
await expiration.remove();Kompatibilität von Hintergrundaufträgen für React Native
Abschnitt mit dem Titel „Kompatibilität von Hintergrundaufträgen 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
Produktionshinweise- Hintergrund-Aufgaben werden opportunisch und nicht genau geplant.
- 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 sichtbare Benutzer-Deadlines oder Alarms zu verlassen.
Weiter von Getting Started
Weiter von Getting StartedWenn Sie native Plugin-Arbeit planen, verbinden Sie es mit Getting Started für die native Fähigkeit in Using @capgo/capacitor-background-task Using @capgo/capacitor-background-task Capgo Plugin-Verzeichnis für den Produktworkflow in 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 Ionic Enterprise Plugin Alternativen für den Produktworkflow in Ionic Enterprise Plugin Alternativen.