Getting Started
Eine Einrichtungsanweisung mit den Installationsanweisungen und der vollständigen Markdown-Guideline für dieses 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 namenlose periodische Aufgaben für die Synchronisierung, Cacheaktualisierungen, die Analytiklieferung und andere Hintergrundabfragen registrieren.
Installation
Abschnitt mit dem Titel „Installation“Sie können unsere AI-gestützte Einrichtung verwenden, um das Plugin zu installieren. Fügen Sie den Capgo-Fähigkeiten Ihrer KI-Tool mithilfe der folgenden Befehl hinzu:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsKopieren Sie dann die folgende Anweisung:
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 die unten angegebenen Plattform-spezifischen Anweisungen befolgen:
npm install @capgo/capacitor-background-tasknpx cap synciOS-Einrichtung
Sektion: iOS-EinrichtungFügen Sie dem Hintergrundprozessmodus und der zulässigen 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
Sektion: Importierenimport { BackgroundTask, BackgroundTaskResult } from '@capgo/capacitor-background-task';Häufige Falle
Section titled “Common pitfalls”- Modulbereich: registrieren
defineTaskvorherregisterTaskAsync. - iOS IDsiOS-IDs
BGTaskSchedulerPermittedIdentifiers: entsprechen - Einträge.: Der Betriebssystem kann Aufgaben hinauszögern
minimumInterval.
: Die Betriebssysteme können Aufgaben über
Definieren Sie eine AufgabeDefinieren 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; }});Registrieren Sie Die Zeitplanung
Abschnitt: Registrieren Sie Die ZeitplanungCall registerTaskAsync nachdem Ihre App genügend Kontext besitzt, um den Hintergrundjob zu aktivieren.
await BackgroundTask.registerTaskAsync(SYNC_TASK, { minimumInterval: 30, requiresNetwork: true,});minimumInterval Die Wartezeit beträgt Minuten. Android erzwingt eine Mindestwartezeit von 15 Minuten. iOS behandelt den Wert als frühesten Beginndatum und kann später ausgeführt werden.
Abschnitt: Status überprüfen
Auslösen Sie einen Testlaufconst status = await BackgroundTask.getStatusAsync();const isRegistered = await BackgroundTask.isTaskRegisteredAsync(SYNC_TASK);const registeredTasks = await BackgroundTask.getRegisteredTasksAsync();
console.log({ status, isRegistered, registeredTasks });Auslösen eines Testlaufs
Abschnitt mit dem Titel „Ein Testlauf auslösen“Verwenden Sie den Testauslöser in der Entwicklung oder QA. Er ruft alle registrierten Aufgaben 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 beenden, bevor Ihr JavaScript-Code abgeschlossen ist. Hören Sie auf Ablaufereignisse, wenn Reinigung oder Checkpointing relevant ist.
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“Die Erweiterung 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"- Hintergrundaufgaben sind opportun, nicht exakt.
- Halten Sie die Arbeit kurz und idempotent.
- Behalte alle benötigten Zustände, bevor du zurückkehrst.
BackgroundTaskResult.Success. - Vermeiden Sie es, sich auf Hintergrundaufgaben für Benutzerfreundliche Fristen oder Alarms zu verlassen.
Weiter mit der Einführung
Abschnitt mit dem Titel "Weiter von Anfang an"Wenn Sie Capgo verwenden Getting Started für die Planung von native Plugin-Arbeiten, verbinden Sie es mit Mit @capgo/capacitor-Hintergrundaufgabe für die native Fähigkeit in Mit @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.