Zum Hauptinhalt springen
@capgo/capacitor-Hintergrundaufgabe Geräte-APIs Offene Quellen

Hintergrundaufgabe Capacitor-Plugin

Fügen Sie periodische Hintergrundabfrageaufgaben auf iOS und Android mit Expo-Registrierung von Aufgaben hinzu

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

Richtlinie

Hinweis: Hintergrundaufgabe in Capacitor verwenden

Auf Gerät testen

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

Vorschau-QR-Link für den Hintergrundaufgaben-Plugin code

Verwenden Sie @capgo/capacitor-hintergrundaufgaben

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

Installieren

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

iOS-Einrichtung

Fügen Sie Hintergrundverarbeitungssupport hinzu 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 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 - Aktivieren Sie für die Entwicklung registrierte Aufgaben sofort.
  • addExpirationListener - Reagieren Sie auf iOS, wenn eine Aufgabe abläuft.

- Beispielverwendung

- Definieren Sie die Aufgabe im Modulbereich, damit sie verfügbar ist, wenn der 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 });

- Aktivieren Sie einen Entwicklungsstart:

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 ausgeführt werden.
  • Teste Hintergrundverarbeitung auf iOS auf einem physischen Gerät.

Vollständige Referenz

Fahre fort von Using @capgo/capacitor-hintergrundaufgabe

Wenn Sie die Plugin-Verwendung von @__CAPGO_KEEP_0__-Plugin verwenden Mit @capgo/capacitor-Hintergrundaufgabe um native Plugin-Arbeit zu planen, mit ihr zu verbinden Mit @capgo/capacitor-Hintergrundaufgabe für die Implementierungsdetails in @capgo/capacitor-Hintergrundaufgabe Getting Started für die Implementierungsdetails in Einführung 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 Hintergrundaufgabe-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 es aus "@capgo/capacitor-background-task" in Ihrer code-Anwendung.

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

Ja. Hintergrundaufgabe 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-Majorversion, die Ihrer Capacitor-Majorversion 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. Die Quellcode von code ist öffentlich auf GitHub unter https://github.com/Cap-go/capacitor-background-task/ verfügbar und das Paket ist kostenlos von npm installierbar. 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.

Background-Aufgaben ohne Wartezeit auf die App-Überprüfung versenden

Einmal der Plugin in Ihrem Store-Builder installiert, Capgo live Updates drücken Ihre JavaScript-, HTML- und CSS-Änderungen an die Benutzer in Minuten.

Starten Sie mit Capgo