Getting Started
Ein Setup-Vorschlag kopieren, der die Installationsanweisungen und die vollständige Markdown-Anleitung für diesen Plugin enthält.
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”Mit unserer AI-gestützten Setup können Sie das Plugin installieren. Fügen Sie die Capgo-Fähigkeiten zu Ihrem AI-Tool hinzu, indem Sie folgenden Befehl verwenden:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsVerwenden Sie dann 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 darunterstehenden plattform-spezifischen Anweisungen befolgen:
npm install @capgo/capacitor-background-tasknpx cap synciOS-Einrichtung
Abschnitt mit dem Titel „iOS-Einrichtung“Fügen Sie dem Hintergrundprozessmodus und der erlaubten 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>Führen Sie dann aus:
npx cap sync iosimport { 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 Zeitplanung registrieren
Abschnitt mit dem Titel „Die Zeitplanung 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 wird in Minuten angezeigt. 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 });Ein Testlauf auslösen
Abschnitt mit dem Titel „Ein Testlauf auslösen“Verwenden Sie den Testtrigger in der Entwicklung oder QA. Er ruft jeden registrierten Task 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 vor dem Abschluss Ihrer JavaScript-Arbeit beenden. Hören Sie auf Ablaufereignisse, wenn die Reinigung oder das Checkpointen relevant ist.
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“Das 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“- Hintergrundplanung ist opportun, 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 Hintergrundaufgaben für sichtbare Fristen oder Alarms zu verlassen.
Fortsetzen Sie von Getting Started
Abschnitt mit dem Titel “Fortsetzen Sie von Getting Started”Wenn Sie verwenden Getting Started um native Plugin-Arbeit zu planen, verbinden Sie es mit Mit @capgo/capacitor-Hintergrundaufgabe für die native Fähigkeit in Mit @capgo/capacitor-Hintergrundaufgabe, Capgo Plugin-Ordner für den Produktworkflow in Capgo Plugin-Ordner, Capacitor Plugins by Capgo for the implementation detail in Capacitor Plugins by Capgo, Plugins hinzufügen oder aktualisieren für die Implementierungsdetails in Plugins hinzufügen oder aktualisieren, und Alternativen zu Ionic Enterprise Plugins für den Produktworkflow in Alternativen zu Ionic Enterprise Plugins.