Saltare al contenuto principale
@capgo/capacitor-task di background API di dispositivo Sorgente aperta

Task di background Plugin Capacitor

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

Installa

bun add @capgo/capacitor-background-task bunx cap sync
npm, pnpm o yarn
  • npm install @capgo/capacitor-background-task
  • pnpm add @capgo/capacitor-background-task
  • yarn add @capgo/capacitor-background-task

Guida

Come utilizzare Background Task in Capacitor

Testa sul dispositivo

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

Link QR anteprima code di background task

Utilizza @capgo/capacitor-background-task

Agenda il lavoro di fetch di background periodico in un'app con Capacitor, registrazione persistente, controlli di stato, disiscrizione e un trigger di sviluppo. Il plugin utilizza Android WorkManager e iOS BGTaskScheduler.

Installa

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

Setup iOS

Aggiungi supporto per il 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>

Quindi esegui:

npx cap sync ios

Cos'è che questo plugin espone

  • defineTask - Definisci 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 - Elencare i nomi delle task registrate.
  • getStatusAsync - Controlla la disponibilità delle attività di background native.
  • triggerTaskWorkerForTestingAsync - Attiva immediatamente le task registrate per lo sviluppo.
  • addExpirationListener - Rispondi quando iOS scade una task.

- Esempio di utilizzo

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

- Controlla lo stato e i nomi delle task registrate:

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

console.log({ status, tasks });

- Attiva un run di sviluppo:

await BackgroundTask.triggerTaskWorkerForTestingAsync();

- Annulla la task:

await BackgroundTask.unregisterTaskAsync(SYNC_TASK);

Note di piattaforma

  • Le schede dei compiti di background sono opportuniste, non timer esatti.
  • L'opera periodica Android ha un intervallo minimo di 15 minuti.
  • IOS considera minimumInterval as an earliest begin date and may run later.
  • Testare il processing di background iOS su un dispositivo fisico.

Riferimento completo

Continua da Utilizzo di @capgo/capacitor-attività-di-background/

Se stai utilizzando Utilizzando @capgo/capacitor-background-task per pianificare il lavoro del plugin nativo, connettilo con @capgo/capacitor-background-task per i dettagli di implementazione in @capgo/capacitor-background-task, Getting Started per i dettagli di implementazione in Avvio, Directory dei Plugin di Capgo per il workflow del prodotto nella Capgo Directory dei Plugin Plugin di Capacitor sviluppati da Capgo per i dettagli di implementazione in Plugin di Capacitor sviluppati da Capgo, e Aggiungere o Aggiornare i Plugin per i dettagli di implementazione in Aggiungere o Aggiornare i Plugin.

FAQ

Domande frequenti sul plugin di background task

How installo il plugin Background Task in un'app Capacitor?

Run &quot;bun add @capgo/capacitor-background-task&quot; (o &quot;npm install @capgo/capacitor-background-task&quot;), poi esegui &quot;bunx cap sync&quot; per far assorbire i progetti iOS e Android i nativi code. Importalo da &quot;@capgo/capacitor-background-task&quot; nella tua app code.

Funziona @capgo/capacitor-background-task con React, Vue e Angular?

Sì. Background Task è un pacchetto Capacitor, quindi funziona con qualsiasi framework web che esegue all'interno di Capacitor, compresi Ionic, React, Vue, Angular, Svelte e JavaScript puro.

Qual è la versione di Capacitor supportata da @capgo/capacitor-background-task?

Capgo plugin seguono la versione maggiore di Capacitor: utilizza la versione del plugin maggiore che corrisponde alla tua versione maggiore di Capacitor (ad esempio plugin v8 con Capacitor 8). La tabella di compatibilità nel README di GitHub elenca le versioni mantenute.

È gratuito e open source @capgo/capacitor-background-task?

Sì. Il codice sorgente di code è pubblico su GitHub all'indirizzo https://github.com/Cap-go/capacitor-background-task/ e il pacchetto è gratuito da installare su npm. I bug report e le richieste di pull sono accetti.

Posso aggiornare code che utilizza Background Task senza una revisione dell'App Store?

Installando o aggiornando il plugin cambia i nativi code, quindi richiede una nuova costruzione dello store. Dopo di che, le modifiche JavaScript, HTML e CSS che chiamano il plugin possono essere spediti immediatamente con Capgo live updates.

Consegui cambiamenti di Background Task senza aspettare la revisione dell'app

Una volta che il plugin è nel tuo store build, Capgo aggiornamenti live inviano le tue modifiche JavaScript, HTML e CSS ai tuoi utenti in pochi minuti.

Inizia con Capgo