Zum Hauptinhalt springen
Zurück zu Plugins
@capgo/capacitor-Hintergrundaufgabe
Tutorial
@capgo/capacitor-Hintergrund-Aufgabe

Hintergrund-Aufgabe

Registriere Expo-stilische Hintergrund-Aufgaben auf iOS und Android und schedule periodische Hintergrund-Fetch-Aufgaben

Richtlinie

Tutorial zu Hintergrundaufgabe

Auf Gerät testen

Laden Sie die Capgo-App herunter, dann scannen Sie die QR-Code code.

Vorschau-Link für die QR-Code-Präsentation des Hintergrundaufgaben-Plugins code

Verwenden Sie @capgo/capacitor-hintergrundaufgabe

In einer Capacitor-App mit benannten Aufgaben, persistenten Registrierungen, Statusprüfungen, Entregistrierungen und einem Entwicklungs-Trigger periodische Hintergrundabfragen planen.

Installieren

npm install @capgo/capacitor-background-task
npx cap sync

iOS Einrichtung

Hinzufügen von Unterstützung für Hintergrundprozesse 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 Sie:

npx cap sync ios

Was diese Plugin-Plattform offenlegt

  • defineTask - Definieren Sie die JavaScript-Rückrufmethode für einen benannten Auftrag.
  • registerTaskAsync - Speichern und planen Sie einen periodischen Auftrag.
  • unregisterTaskAsync - Stornieren Sie einen Auftrag.
  • isTaskRegisteredAsync - Überprüfen Sie den Registrierungszustand eines Auftrags.
  • getRegisteredTasksAsync - Listen Sie die registrierten Auftragsnamen auf.
  • getStatusAsync - Überprüfen Sie die Verfügbarkeit von nativen Hintergrundaufgaben.
  • triggerTaskWorkerForTestingAsync - Auslösen Sie die sofortige Ausführung der registrierten Aufgaben für die Entwicklung.
  • addExpirationListener - Reagieren Sie, wenn iOS einen Auftrag abläuft.

Beispielanwendung

Definieren Sie die Aufgabe im Modulbereich, damit sie verfügbar ist, wenn das Betriebssystem die App wachruft:

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;
  }
});

await BackgroundTask.registerTaskAsync(SYNC_TASK, {
  minimumInterval: 30,
  requiresNetwork: true,
});

Überprüfen Sie den Status und die registrierten Aufgabenamen:

const status = await BackgroundTask.getStatusAsync();
const tasks = await BackgroundTask.getRegisteredTasksAsync();

console.log({ status, tasks });

Auslösen Sie einen Entwicklungsrun:

await BackgroundTask.triggerTaskWorkerForTestingAsync();

Stornieren Sie die Aufgabe:

await BackgroundTask.unregisterTaskAsync(SYNC_TASK);

Plattformhinweise

  • Hintergrundaufgaben werden opportunistisch und nicht als genaue Timer durchgeführt.
  • Android-Periodikarbeit hat einen Mindestabstand von 15 Minuten.
  • iOS behandelt minimumInterval als frühesten Beginndatum und kann später durchgeführt werden.
  • Testen Sie die iOS-Hintergrundverarbeitung auf einem physischen Gerät.

Vollständige Referenz

Weitermachen von Using @capgo/capacitor-hintergrund-Aufgabe

Wenn Sie Using verwenden Mit @capgo/capacitor-hintergrund-Aufgabe um native Plugin-Arbeit zu planen, verbinden Sie es mit @capgo/capacitor-hintergrund-Aufgabe für die Implementierungsdetails in @capgo/capacitor-hintergrund-Aufgabe, Einstieg für die Implementierungsdetails in Einstieg, Capgo Plugin-Verzeichnis für den Produktworkflow in Capgo Plugin-Verzeichnis Capacitor Plugins von Capgo für die Implementierungsdetails in Capacitor Plugins von Capgo, und Hinzufügen oder Aktualisieren von Plugins für die Implementierungsdetails in Hinzufügen oder Aktualisieren von Plugins.