跳过内容

@capgo/capacitor-background-task

Capacitor应用的Expo样式命名后台任务,基于Android WorkManager和iOS BGTaskScheduler。

当您的__CAPGO_KEEP_0__应用需要周期性后台获取工作,例如同步、缓存刷新、收件箱轮询、分析数据刷新或轻量级维护作业时。 @capgo/capacitor-background-task when your Capacitor app needs periodic background fetch work such as sync, cache refreshes, inbox polling, analytics flushing, or lightweight maintenance jobs.

使用

核心功能

核心功能
  • defineTask - 为命名任务注册 JavaScript 回调。
  • registerTaskAsync - 持久化并计划一个周期性任务。
  • unregisterTaskAsync - 取消一个任务的未来运行。
  • isTaskRegisteredAsync - 检查是否已注册一个任务。
  • getRegisteredTasksAsync - 列出当前已注册的任务名称。
  • getPendingTaskRunsAsync - 检查本地任务事件的记录,事件发生在 JavaScript 未准备好之前。
  • getStatusAsync - 检查本地后台任务的可用性。
  • triggerTaskWorkerForTestingAsync - 在开发期间立即运行已注册的任务。
  • addExpirationListener - 处理 iOS 过期回调。
  • define, schedule, cancel, statusAsync, 和 finish - Compatibility helpers for __CAPGO_KEEP_0__ react-native-background-task.

平台兼容性帮助

平台行为

后台任务不是精确的定时器。 Android 和 iOS 根据电池、网络、应用程序使用情况和系统策略决定何时运行预定工作。

平台原生调度器重要行为
AndroidWorkManager周期性工作的最小间隔为 15 分钟。
iOSBGTaskSchedulerminimumInterval 是最早开始的日期,而不是保证的节奏。
Web仅用于测试的回退没有可用的真实背景调度器。
方法描述
defineTask定义一个命名任务的JavaScript回调。
registerTaskAsync注册一个命名的周期性背景任务。
unregisterTaskAsync取消未来的任务运行。
isTaskRegisteredAsync返回是否已注册任务。
getRegisteredTasksAsync已注册的任务名称列表。
getPendingTaskRunsAsync等待完成的本地任务事件列表。
getStatusAsync是否本地后台调度可用。
triggerTaskWorkerForTestingAsync触发已注册的任务(开发和QA)。
addExpirationListener监听iOS过期事件。

真实数据来源

真实数据来源

此参考资料是从 src/definitions.tscapacitor-后台任务.

从@capgo/capacitor-后台任务继续

从@capgo/capacitor-后台任务继续

如果您正在使用 @capgo/capacitor-background-task 来规划原生插件工作,连接它与 使用 @capgo/capacitor-background-task for the native capability in Using @capgo/capacitor-background-task, 使用 @Capgo/__CAPGO_KEEP_1__-background-task Capgo 插件目录 Capacitor Plugins by Capgo Capacitor 由 Capgo 提供的插件 来实现 __CAPGO_KEEP_0__ 由 __CAPGO_KEEP_1__ 提供的插件的细节 添加或更新插件 来实现添加或更新插件的细节,和 为 Ionic Enterprise Plugin Alternatives 产品工作流程。