Iniziare
Copia un prompt di impostazione 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 denominati per la sincronizzazione, l'aggiornamento della cache, la consegna degli analytics e altre operazioni di fetch in background.
Puoi 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-pluginsPoi utilizza 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 del tuo dispositivo sotto:
npm install @capgo/capacitor-background-tasknpx cap syncConfigurazione per iOS
Sezione intitolata “Configurazione per iOS”Aggiungi il modulo di elaborazione in background e l'identificatore della task autorizzata 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>E poi esegui:
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 La Programmazione
Sezione intitolata “Registra Il Programma”Chiamata registerTaskAsync contesto
await BackgroundTask.registerTaskAsync(SYNC_TASK, { minimumInterval: 30, requiresNetwork: true,});minimumInterval Copia nell'area di trasferimento
è in minuti. L'Android impone un minimo di 15 minuti. L'iOS considera il valore come una data di inizio più antica e può eseguire in un momento successivo.
Controlla lo Statoconst status = await BackgroundTask.getStatusAsync();const isRegistered = await BackgroundTask.isTaskRegisteredAsync(SYNC_TASK);const registeredTasks = await BackgroundTask.getRegisteredTasksAsync();
console.log({ status, isRegistered, registeredTasks });Copia nell'area di trasferimento
Attiva Un TestSezione intitolata “Attiva Un Test”
await BackgroundTask.triggerTaskWorkerForTestingAsync();Disiscrivere Una Task
Sottosezione intitolata “Disiscrivere Una Task”await BackgroundTask.unregisterTaskAsync(SYNC_TASK);Scadenza per iOS
Sottosezione intitolata “Scadenza per iOS”Il sistema iOS può interrompere una task di background prima che il tuo codice JavaScript sia completato. Ascolta gli eventi di scadenza quando è necessario pulire o effettuare checkpoint.
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
Sottosezione 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
Nota di produzione- La pianificazione in background è occasionale, non esatta.
- Tenere i lavori brevi e idempotenti.
- Persistere ogni stato necessario prima di tornare
BackgroundTaskResult.Success. - Evitare di affidarsi alle attività in background per scadenze o allarmi visibili dall'utente.
Continua da qui: Getting Started
Se stai utilizzandoIniziare per pianificare il lavoro di plugin nativo, connettilo con Usando @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-task-background per la capacità nativa in Usando @capgo/capacitor-task-background, for the native capability in Using @capgo/capacitor-background-task, Capgo Directory dei Plugin per il workflow del prodotto in 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 Sostituti dei Plugin Enterprise di Ionic per il workflow del prodotto in Sostituti dei Plugin Enterprise di Ionic.