Vai direttamente al contenuto principale
Indietro ai plugin
@capgo/capacitor-background-task
Tutorial
@capgo/capacitor-background-task

Background Task

Esegui compiti di background periodici su iOS e Android con registrazione di compiti Expo-style

Guida

Tutorial sul Task di Background

Testa sul dispositivo

Scarica l'app Capgo, poi scansa il codice QR code.

Background Task plugin preview QR code

Usando @capgo/capacitor-background-task

Programma lavori di fetch di background periodici in un'app Capacitor con task denominate, registrazione persistente, controlli di stato, disiscrizione e un trigger di sviluppo.

Installa

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

Configurazione iOS

Aggiungi supporto per il processing di background ios/App/App/Info.plist:

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

Esegui quindi:

npx cap sync ios

Cosa Questo Plugin Espone

  • defineTask - Definisce il callback JavaScript per una task denominata.
  • registerTaskAsync - Persiste e programma una task periodica.
  • unregisterTaskAsync - Annulla una task.
  • isTaskRegisteredAsync - Controlla lo stato di registrazione di una task.
  • getRegisteredTasksAsync - Elenco dei nomi delle attività registrate.
  • getStatusAsync - Verifica la disponibilità delle attività di background native.
  • triggerTaskWorkerForTestingAsync - Attiva immediatamente le attività registrate per lo sviluppo.
  • addExpirationListener - Rispondi quando iOS scade un'attività.

Esempio di utilizzo

Definisci l'attività al livello di modulo affinché sia disponibile quando l'OS risveglia l'app:

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

Verifica lo stato e i nomi delle attività registrate:

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

console.log({ status, tasks });

Attiva un run di sviluppo:

await BackgroundTask.triggerTaskWorkerForTestingAsync();

Annulla l'attività:

await BackgroundTask.unregisterTaskAsync(SYNC_TASK);

Nota del sistema operativo

  • Le scadenze delle attività di background sono opportuniste, non timer esatti.
  • L'Android ha un intervallo minimo di 15 minuti per il lavoro periodico.
  • iOS considera minimumInterval come data di inizio e può eseguire in seguito.
  • Testare il processing di background su iOS su un dispositivo fisico.

Riferimento completo

Continua da Utilizzo di @capgo/capacitor-task-di-background

Se stai utilizzando Utilizzo di @capgo/capacitor-task-di-background per pianificare il lavoro del plugin nativo, connettilo con @capgo/capacitor-task-di-background For il dettaglio di implementazione in @capgo/capacitor-background-task, Iniziare For il dettaglio di implementazione in Iniziare, Directory dei plugin Capgo For il workflow del prodotto in Directory dei plugin Capgo, I plugin Capacitor di Capgo For il dettaglio di implementazione in I plugin Capacitor di Capgo, e Aggiungere o aggiornare i plugin For il dettaglio di implementazione in Aggiungere o aggiornare i plugin.