Getting Started
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 lavori periodici denominati per sincronizzazioni, aggiornamenti cache, consegne di analisi e altre operazioni di fetch in background.
Potresti utilizzare la nostra configurazione assistita da AI per installare il plugin. Aggiungi le Capgo competenze al tuo strumento AI utilizzando il seguente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsUtilizza poi il seguente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-background-task` plugin in my project.Se preferisci la configurazione manuale, installa il plugin eseguendo i seguenti comandi e segui le istruzioni specifiche della piattaforma riportate di seguito:
bun add @capgo/capacitor-background-taskbunx cap syncSetup su iOS
Sottosezione intitolata “Configurazione iOS”Aggiungi il modulo di elaborazione in background e l'identificatore della task autorizzata 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:
bunx cap sync iosimport { BackgroundTask, BackgroundTaskResult } from '@capgo/capacitor-background-task';Definisci un compito
Sottosezione intitolata “Definisci un compito”Definisci il callback all'interno dello scope del modulo, in modo che 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
Sottosezione intitolata “Registra il calendario”Esegui 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 È in minuti. Android impone un minimo di 15 minuti. iOS interpreta il valore come data di inizio più antica e può eseguire in un momento successivo.
Controlla lo stato
Scheda intitolata “Controlla lo stato”const status = await BackgroundTask.getStatusAsync();const isRegistered = await BackgroundTask.isTaskRegisteredAsync(SYNC_TASK);const registeredTasks = await BackgroundTask.getRegisteredTasksAsync();
console.log({ status, isRegistered, registeredTasks });Attiva un test
Scheda intitolata “Attiva un test”Utilizza il trigger di testamento in fase di sviluppo o QA. Esegue ogni compito registrato immediatamente.
await BackgroundTask.triggerTaskWorkerForTestingAsync();Disiscrivi un compito
Sezione intitolata “Disiscrivi Un Task”await BackgroundTask.unregisterTaskAsync(SYNC_TASK);Scadenza iOS
Sezione intitolata “Scadenza iOS”iOS può interrompere un compito di background prima che il tuo lavoro JavaScript sia completato. 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à dei Task di Background per React Native
Sezione intitolata “Compatibilità dei Task di Background per React Native”Il plugin esponi anche una piccola layer di compatibilità per le app che migrano 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 è occasionale, non esatta.
- Conserva il lavoro breve e idempotente.
- Conserva qualsiasi stato necessario prima di tornare.
BackgroundTaskResult.Success. - Evita di affidarti alle attività in background per scadenze o allarmi visibili dall'utente.
Keep going from Getting Started
Sottosezione intitolata “Continua da Inizia”.Se stai utilizzando Getting Started per pianificare il lavoro del plugin nativo, connettilo con Utilizza @capgo/capacitor-background-task per la capacità nativa in Utilizza @capgo/capacitor-background-task, Directory del plugin Capgo per il workflow del prodotto nella Capgo Directory dei Plugin Capacitor Plugin da Capgo per i dettagli di implementazione in Capacitor Plugin da Capgo Aggiungere o aggiornare i Plugin per i dettagli di implementazione in Aggiungere o aggiornare i Plugin, e Alternative per Plugin Enterprise Ionic per il workflow del prodotto in Alternative per Plugin Enterprise Ionic.