Iniziare
Copiare 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.
Installare
Sezione intitolata “Installazione”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 per la piattaforma riportate di seguito:
npm install @capgo/capacitor-background-tasknpx cap syncConfigurazione per iOS
Sezione intitolata “Configurazione per iOS”Aggiungi il modalità 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>Eseguisci quindi:
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 context
await BackgroundTask.registerTaskAsync(SYNC_TASK, { minimumInterval: 30, requiresNetwork: true,});minimumInterval Copia nella clipboard
è in 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.
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 nella clipboard
Attiva un testSezione intitolata “Attiva un test”
await BackgroundTask.triggerTaskWorkerForTestingAsync();Disiscrivere una Task
Sezione intitolata “Disiscrivere una Task”await BackgroundTask.unregisterTaskAsync(SYNC_TASK);Scadenza per iOS
Sezione 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 il checkpointing.
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 è occasionale, non esatta.
- Tieni i lavori brevi e idempotenti.
- Mantieni qualsiasi stato che ti serve prima di tornare
BackgroundTaskResult.Success. - Evita di affidarti alle attività in background per i termini o gli allarmi visibili dall'utente.
Continua da Iniziare
Se stai utilizzandoIniziare per pianificare il lavoro di plugin nativo, connettilo con Utilizzare @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-task-di-background per la capacità nativa in Utilizzare @capgo/capacitor-task-di-background, for the native capability in Using @capgo/capacitor-background-task, Capgo Directory dei Plugin per il flusso di lavoro del prodotto in Capgo Directory dei Plugin, Capacitor Plugin di Capgo per i dettagli di implementazione in Capacitor Plugin di 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 flusso di lavoro del prodotto in Sostituti dei Plugin Enterprise di Ionic.