Saltar al contenido principal
@capgo/capacitor-task-de-fondo Dispositivos de API Fuente abierta

Tarea de fondo plugin de Capacitor

Instale tareas de fondo periódicas en iOS y Android con la inscripción de tarea de Expo

Instalar

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

Guía

Cómo usar Tarea de fondo en Capacitor

Probar en dispositivo

Descarga la aplicación Capgo, luego escanea el código QR code.

Previsualización de plugin de tarea de fondo code

Usando @capgo/capacitor-tarea-de-fondo

Schedule periodic background fetch work in a Capacitor app with named tasks, persistent registration, status checks, unregistering, and a development trigger. The plugin uses Android WorkManager and iOS BGTaskScheduler.

Instalar

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

iOS Setup

Agregar soporte de procesamiento de fondo 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 ejecutar:

npx cap sync ios

¿Qué expone este plugin?

  • defineTask - Definir el callback de JavaScript para una tarea nombrada.
  • registerTaskAsync - Persistir y programar una tarea periódica.
  • unregisterTaskAsync - Cancelar una tarea.
  • isTaskRegisteredAsync - Verificar el estado de registro de una tarea.
  • getRegisteredTasksAsync - Listar nombres de tareas registradas.
  • getStatusAsync - Verificar la disponibilidad de tareas de fondo nativas.
  • triggerTaskWorkerForTestingAsync - Desencadenar tareas registradas inmediatamente para desarrollo.
  • addExpirationListener - Reaccionar cuando iOS expira una tarea.

- Ejemplo de Uso

Define the task at module scope so it is available when the OS wakes the 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,
});

- Verificar el estado y nombres de tareas registradas:

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

console.log({ status, tasks });

- Desencadenar una ejecución de desarrollo:

await BackgroundTask.triggerTaskWorkerForTestingAsync();

- Cancelar la tarea:

await BackgroundTask.unregisterTaskAsync(SYNC_TASK);

Nota de plataforma

  • Los horarios de tarea de fondo son oportunistas, no temporizadores exactos.
  • El trabajo periódico de Android tiene un intervalo mínimo de 15 minutos.
  • iOS trata minimumInterval as an earliest begin date and may run later.
  • Prueba la procesamiento de fondo de iOS en un dispositivo físico.

Referencia completa

Sigue adelante desde Usando @capgo/capacitor-tarea-de-fondo

Si estás utilizando Usando @capgo/capacitor-tarea de fondo para planificar el trabajo del plugin nativo, conectarlo con @capgo/capacitor-tarea de fondo para los detalles de implementación en @capgo/capacitor-tarea de fondo, Getting Started para los detalles de implementación en Inicio, Directorio de Plugins de Capgo para el flujo de trabajo del producto en el directorio de plugins Capgo Plugins de Capacitor por Capgo para los detalles de implementación en Plugins de Capacitor por Capgo, y Agregar o Actualizar Plugins para los detalles de implementación en Agregar o Actualizar Plugins.

FAQ

FAQ sobre el plugin de tarea de fondo

How se instala el plugin de tarea de fondo en una aplicación Capacitor?

Corre &quot;bun add @capgo/capacitor-background-task&quot; (o &quot;npm install @capgo/capacitor-background-task&quot;), luego corre &quot;bunx cap sync&quot; para que los proyectos iOS y Android capturen el nativo code. Importa desde &quot;@capgo/capacitor-background-task&quot; en tu aplicación code.

¿Funciona @capgo/capacitor-background-task con React, Vue y Angular?

Sí. La tarea de fondo es un paquete Capacitor, por lo que funciona con cualquier framework web que se ejecute dentro de Capacitor, incluyendo Ionic, React, Vue, Angular, Svelte y JavaScript puro.

¿Qué versión de Capacitor soporta @capgo/capacitor-background-task?

Los plugins Capgo siguen la versión mayor de Capacitor: utiliza la versión mayor del plugin que coincida con la versión mayor de Capacitor (por ejemplo, plugin v8 con Capacitor 8). La tabla de compatibilidad en el README del GitHub lista las versiones mantenidas.

¿Es @capgo/capacitor-background-task gratuito y de código abierto?

Sí. El código fuente de code está público en GitHub en https://github.com/Cap-go/capacitor-background-task/ y el paquete es gratuito para instalar desde npm. Se aceptan informes de errores y solicitudes de cambios.

Puedo actualizar code que utiliza Tarea de fondo sin una revisión de la Tienda de aplicaciones?

Instalar o actualizar el plugin cambia el nativo code, por lo que necesita una nueva construcción de la tienda. Después de eso, los cambios en JavaScript, HTML y CSS que llaman al plugin pueden enviarlos instantáneamente con Capgo actualizaciones en vivo.

Envía cambios de tarea de fondo sin esperar a la revisión de la aplicación

Una vez que el plugin esté en tu tienda de construcción, Capgo actualiza en vivo tus cambios de JavaScript, HTML y CSS a los usuarios en minutos.

Inicia con Capgo