Iniziare
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-background-task`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/background-task/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
@capgo/capacitor-background-task consente a un'app Capacitor di registrare dei lavori periodici per la sincronizzazione, l'aggiornamento della cache, la consegna degli analytics e altre operazioni di fetch in background.
Installazione
Sezione intitolata “Installazione”npm install @capgo/capacitor-background-tasknpx cap syncSetup iOS
Sezione intitolata “Setup iOS”Aggiungi il modello di elaborazione in background e l'identificatore delle attività autorizzate a 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 il comando:
npx cap sync iosImporta
Sezione intitolata “Importa”import { BackgroundTask, BackgroundTaskResult } from '@capgo/capacitor-background-task';Definisci una Task
Sezione intitolata “Definisci una Task”Definisci il callback all'interno dello scope del modulo affinché venga registrato non appena l'applicazione viene avviata dal sistema operativo.
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; }});Registra Il Calendario
Sezione intitolata “Registra Il Calendario”Chiamata registerTaskAsync Dopo che la tua app ha abbastanza contesto per abilitare il lavoro di background.
await BackgroundTask.registerTaskAsync(SYNC_TASK, { minimumInterval: 30, requiresNetwork: true,});minimumInterval Si tratta di minuti. L'Android impone un minimo di 15 minuti. L'iOS considera il valore come una data di inizio più precoce e può eseguire in un momento successivo.
Verifica lo Stato
Sezione intitolata “Verifica lo Stato”const status = await BackgroundTask.getStatusAsync();const isRegistered = await BackgroundTask.isTaskRegisteredAsync(SYNC_TASK);const registeredTasks = await BackgroundTask.getRegisteredTasksAsync();
console.log({ status, isRegistered, registeredTasks });Avvia un Test
Sezione intitolata “Avvia un Test”Utilizza il trigger di testamento in fase di sviluppo o QA. Esegue ogni compito registrato immediatamente.
await BackgroundTask.triggerTaskWorkerForTestingAsync();Disiscrivi una Task
Sezione intitolata “Disiscrivere una Task”await BackgroundTask.unregisterTaskAsync(SYNC_TASK);Scadenza di iOS
Sezione intitolata “Scadenza di iOS”iOS può interrompere una task di background prima che il tuo lavoro JavaScript si completi. Ascolta gli eventi di scadenza quando la pulizia o il checkpointing sono importanti.
const expiration = await BackgroundTask.addExpirationListener((event) => { console.warn('Background task expired', event.taskName, event.taskId);});
await expiration.remove();Compatibilità delle task di background per React Native
Sezione intitolata “Compatibilità delle task di background per React Native”Il plugin esporre anche una piccola layer di compatibilità per le app che stanno migrando da react-native-background-task.
import { BackgroundTask } from '@capgo/capacitor-background-task';
BackgroundTask.define(async () => { await fetch('https://api.example.com/sync', { method: 'POST' });});
await BackgroundTask.schedule({ period: 1800,});Note di produzione
Sezione intitolata “Note di produzione”- La pianificazione in background è opportunistica, non esatta.
- Tieni i lavori brevi e idempotenti.
- Mantieni qualsiasi stato necessario prima di tornare
BackgroundTaskResult.Success. - Evita di affidarti alle attività in background per i termini o gli allarmi visibili dagli utenti.
Continua da Inizia con l'installazione
Sezione intitolata “Continua da Inizia con l'installazione”Se stai utilizzando Inizia con l'installazione per pianificare il lavoro dei plugin nativi, connettilo con Usando @capgo/capacitor-background-task per la capacità nativa in Utilizzo di @capgo/capacitor-task di background Capgo Directory dei Plugin per il flusso di lavoro del prodotto in Capgo Directory dei Plugin Capacitor Plugin da Capgo per la dettaglio di implementazione in Capacitor Plugin da Capgo Aggiunta o Aggiornamento dei Plugin per la dettaglio di implementazione in Aggiunta o Aggiornamento dei Plugin, e Alternative Plugin Enterprise Ionic per il flusso di lavoro del prodotto in Alternative Plugin Enterprise Ionic