__CAPGO_KEEP_0__-Startseite
Zurück zu Plugins
@capgo/capacitor-Hintergrundaufgabe
Anleitung
@capgo/capacitor-Hintergrundaufgabe

Hintergrundaufgabe

Periodische Hintergrundabfragen auf iOS und Android mit Expo-Task-Registrierung planen

Führung

Anleitung zu Hintergrundaufgaben

Gerät testen

Herunterladen Sie die Capgo-App, dann scannen Sie die QR-code.

Hintergrund-Aufgabe-Plugin-Vorschau-QR code

Verwenden Sie @capgo/capacitor-background-task

Planen Sie periodische Hintergrundabfragen in einer Capacitor-App mit benannten Aufgaben, persistenter Registrierung, Statusprüfungen, Entregistrierung und einem Entwicklungs-Trigger. Das Plugin verwendet Android WorkManager und iOS BGTaskScheduler.

Installieren

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

iOS-Einrichtung

Hinzufügen von Hintergrundverarbeitungsfunktionen zu ios/App/App/Info.plist:

<key>UIBackgroundModes</key>
<array>
  <string>processing</string>
</array>
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
  <string>app.capgo.backgroundtask.processing</string>
</array>

Hinweis: Sie müssen das Plugin in Ihrer App installieren, bevor Sie es verwenden können.

npx cap sync ios

Was dieses Plugin bereitstellt

  • defineTask - Definieren Sie die JavaScript-Rückrufmethode für eine benannte Aufgabe.
  • registerTaskAsync - Persistieren und planen Sie eine periodische Aufgabe.
  • unregisterTaskAsync - Stornieren Sie eine Aufgabe.
  • isTaskRegisteredAsync - Überprüfen Sie den Registrierungszustand einer Aufgabe.
  • getRegisteredTasksAsync - Registrierte Aufgaben auflisten.
  • getStatusAsync - Die Verfügbarkeit von native Hintergrundaufgaben überprüfen.
  • triggerTaskWorkerForTestingAsync - Registrierte Aufgaben sofort für die Entwicklung auslösen.
  • addExpirationListener - Reagieren, wenn iOS eine Aufgabe abläuft.

Beispiel für die Verwendung

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

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 Aufgaben:

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

console.log({ status, tasks });

Eine Entwicklungsdurchführung auslösen:

await BackgroundTask.triggerTaskWorkerForTestingAsync();

Die Aufgabe stornieren:

await BackgroundTask.unregisterTaskAsync(SYNC_TASK);

Hinweise zur Plattform

  • Hintergrundaufgabenskalen sind opportunistisch, nicht genaue Timer.
  • Android-Periodische Arbeit hat einen Mindestabstand von 15 Minuten.
  • iOS behandelt sie minimumInterval als frühesten Beginnstermin und kann später ausgeführt werden.
  • Testen Sie die Hintergrundverarbeitung von iOS auf einem physischen Gerät.

Vollständige Referenz

Fahren Sie mit dem Lesen von Using @capgo/capacitor-hintergrundaufgabe fort.

Wenn Sie Using @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-hintergrundaufgabe verwenden Using @capgo/capacitor-background-task @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-hintergrundaufgabe @capgo/capacitor-background-task zur Implementierungsdetail in @capgo/capacitor-Hintergrundaufgabe, Einstieg zur Implementierungsdetail in Einstieg, Capgo Plugin-Verzeichnis zur Produktworkflow in Capgo Plugin-Verzeichnis, Capacitor Plugins von Capgo zur Implementierungsdetail in Capacitor Plugins von Capgo, und Plugins hinzufügen oder aktualisieren zur Implementierungsdetail in Plugins hinzufügen oder aktualisieren.