Getting Started
Copie un comando de configuración con los pasos de instalación y la guía de markdown completa para este 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 permite que una aplicación Capacitor se registre trabajos periódicos nombrados para sincronización, refrescos de caché, entrega de análisis y otras operaciones de recuperación de fondo.
Instalar
Sección titulada “Instalación”Puedes utilizar nuestra configuración asistida por inteligencia artificial para instalar el complemento. Agrega las Capgo habilidades a tu herramienta de inteligencia artificial utilizando el siguiente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego utiliza el siguiente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-background-task` plugin in my project.Si prefieres la configuración manual, instala el complemento ejecutando los siguientes comandos y sigue las instrucciones específicas de la plataforma a continuación:
npm install @capgo/capacitor-background-tasknpx cap syncConfiguración de iOS
Sección titulada “Configuración de iOS”Agrega el modo de procesamiento de fondo y el identificador de tarea permitido 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>Luego ejecuta:
npx cap sync iosImportar
Sección titulada “Importar”import { BackgroundTask, BackgroundTaskResult } from '@capgo/capacitor-background-task';Definir una tarea
Sección titulada “Definir una tarea”Define la llamada a función en el ámbito del módulo para que se registre tan pronto como se inicie la aplicación por parte del 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; }});Registrar la programación
Sección titulada “Registro De La Programación”Llamar registerTaskAsync Después de que tu aplicación tenga suficiente contexto para habilitar el trabajo de fondo.
await BackgroundTask.registerTaskAsync(SYNC_TASK, { minimumInterval: 30, requiresNetwork: true,});minimumInterval Es en minutos. Android impone un mínimo de 15 minutos. iOS trata el valor como una fecha de inicio más temprana y puede ejecutarse más tarde.
Verificar Estado
Sección titulada “Verificar Estado”const status = await BackgroundTask.getStatusAsync();const isRegistered = await BackgroundTask.isTaskRegisteredAsync(SYNC_TASK);const registeredTasks = await BackgroundTask.getRegisteredTasksAsync();
console.log({ status, isRegistered, registeredTasks });Desencadenar Una Ejecución De Prueba
Sección titulada “Desencadenar Una Ejecución De Prueba”Utiliza el desencadenante de prueba en desarrollo o QA. Llama a cada tarea registrada de inmediato.
await BackgroundTask.triggerTaskWorkerForTestingAsync();Desregistrarse de una tarea
Sección titulada “Desregistrarse de una tarea”await BackgroundTask.unregisterTaskAsync(SYNC_TASK);Vencimiento de iOS
Sección titulada “Vencimiento de iOS”iOS puede detener una tarea de fondo antes de que termine su trabajo de JavaScript. Escuche los eventos de vencimiento cuando importa la limpieza o el punto de control.
const expiration = await BackgroundTask.addExpirationListener((event) => { console.warn('Background task expired', event.taskName, event.taskId);});
await expiration.remove();Compatibilidad de la tarea de fondo de React Native
Sección titulada “Compatibilidad de la tarea de fondo de React Native”El plugin también expone una pequeña capa de compatibilidad para aplicaciones que migran desde 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,});Observaciones de producción
Sección titulada “Notas de producción”- La programación de fondo es oportunista, no exacta.
- Mantén el trabajo corto e idempotente.
- Almacena cualquier estado que necesites antes de devolver
BackgroundTaskResult.Success. - Evita confiar en tareas de fondo para plazos visibles para el usuario o alarmas.
Continúa desde Inicio rápido
Sección titulada “Continúa desde Inicio rápido”Si estás utilizando Inicio rápido para planificar el trabajo de plugin nativo, conecta con Usando @capgo/capacitor-tarea-de-fondo para la capacidad nativa en Usando @capgo/capacitor-tarea-de-fondo, Capgo Carpeta de plugins para el flujo de trabajo del producto en Capgo Carpeta de plugins Capacitor Plugins por Capgo para el detalle de implementación en Capacitor Plugins por Capgo Agregar o Actualizar Plugins para el detalle de implementación en Agregar o Actualizar Plugins, y Alternativas de Plugins de Ionic Enterprise para el flujo de trabajo del producto en Alternativas de Plugins de Ionic Enterprise.