Zum Hauptinhalt springen
@capgo/capacitor-Hintergrundaufgabe Geräte-APIs Open Source

Hintergrund-Aufgaben Capacitor-Plugin

Führen Sie periodische Hintergrundabfragen auf iOS und Android durch, indem Sie Expo-ähnliche Aufgaben registrieren.

Installieren

bun add @capgo/capacitor-background-task bunx cap sync
npm, pnpm oder yarn
  • npm install @capgo/capacitor-background-task
  • pnpm add @capgo/capacitor-background-task
  • yarn add @capgo/capacitor-background-task

Anleitung

So verwendest du Hintergrundaufgaben in Capacitor

Auf Gerät testen

Lade die Capgo-App herunter, dann scane den QR-Code code.

Hintergrund-Aufgaben-Plugin-Vorschau QR code

Verwenden Sie @capgo/capacitor-hintergrundaufgaben

Führen Sie periodische Hintergrundabfragen in einer Capacitor-App mit benannten Aufgaben, persistenter Registrierung, Statusprüfungen, Entregistrierung und einem Entwicklungs-Trigger durch. Der 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>

Dann ausführen:

npx cap sync ios

Was dieser Plugin bereitstellt

  • defineTask - Definieren Sie die JavaScript-Rückruf-Funktion für eine benannte Aufgabe.
  • registerTaskAsync - Eine periodische Aufgabe persistieren und planen.
  • unregisterTaskAsync - Eine Aufgabe stornieren.
  • isTaskRegisteredAsync - Überprüfen Sie den Registrierungsstatus einer Aufgabe.
  • getRegisteredTasksAsync - Liste der registrierten Aufgabennamen.
  • getStatusAsync - Überprüfen Sie die Verfügbarkeit von Hintergrundaufgaben.
  • triggerTaskWorkerForTestingAsync - Registrierte Aufgaben sofort für die Entwicklung auslösen.
  • addExpirationListener - Reagieren Sie, wenn iOS eine Aufgabe abläuft.

- Beispielverwendung

- Definieren Sie die Aufgabe im Modulbereich, damit sie verfügbar ist, wenn das Betriebssystem den 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üfe Status und registrierte Aufgaben:

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

console.log({ status, tasks });

- Ausführen Sie einen Entwicklungsrun:

await BackgroundTask.triggerTaskWorkerForTestingAsync();

- Stornieren Sie die Aufgabe:

await BackgroundTask.unregisterTaskAsync(SYNC_TASK);

Plattform Hinweise

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

Vollständige Referenz

Fortsetzen Sie mit Verwendung von @capgo/capacitor-hintergrundaufgabe/

Wenn Sie die Verwendung von Mit @capgo/capacitor-Hintergrundaufgabe um native Plugin-Arbeit zu planen, verbinden Sie es mit @capgo/capacitor-Hintergrundaufgabe für die Implementierungsdetails in @capgo/capacitor-Hintergrundaufgabe, Getting Started 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 Plugins hinzufügen oder aktualisieren für die Implementierungsdetails in Plugins hinzufügen oder aktualisieren.

FAQ

Häufig gestellte Fragen zur Hintergrundaufgabe-Plugin

Wie installiere ich die Hintergrundaufgaben-Plugin in einer Capacitor-App?

Führen Sie "bun add @capgo/capacitor-background-task" (oder "npm install @capgo/capacitor-background-task"), dann führen Sie "bunx cap sync" aus, damit die iOS- und Android-Projekte die native code-Datei aufnehmen. Importieren Sie sie aus "@capgo/capacitor-background-task" in Ihrer code-Anwendung.

Funktioniert @capgo/capacitor-background-task mit React, Vue und Angular?

Ja. Das Hintergrundaufgabe-Plugin ist ein Capacitor-Paket, daher funktioniert es mit jedem Webframework, das innerhalb von Capacitor läuft, einschließlich Ionic, React, Vue, Angular, Svelte und plain JavaScript.

Welche Capacitor-Version unterstützt @capgo/capacitor-background-task?

Capgo-Plugins folgen der Capacitor-Version: verwenden Sie die Plugin-Major-Version, die Ihrem Capacitor-Major-Version entspricht (z.B. Plugin v8 mit Capacitor 8). Die Kompatibilitäts-Tabelle im GitHub-README enthält die unterstützten Versionen.

Ist @capgo/capacitor-background-task kostenlos und Open-Source?

Ja. Der Quellcode von code ist öffentlich auf GitHub unter https://github.com/Cap-go/capacitor-background-task/ verfügbar und das Paket kann kostenlos installiert werden von npm. Bug-Reports und Pull-Requests sind willkommen.

Kann ich code aktualisieren, das Background Task verwendet, ohne eine App-Store-Überprüfung?

Das Installieren oder Upgraden des Plugins ändert die native code-Datei, daher benötigt es eine neue Store-Build. Danach können JavaScript-, HTML- und CSS-Änderungen, die den Plugin aufrufen, sofort mit Capgo-Live-Updates verschickt werden.

Hintergrundsarbeiten ohne Wartezeit für die App-Überprüfung versenden

Einmal das Plugin in Ihrem Store Build installiert, drücken Capgo Live-Updates Ihre JavaScript-, HTML- und CSS-Änderungen innerhalb von Minuten bei den Benutzern aus.

Mit Capgo beginnen