ガイド
バックグラウンドタスクのチュートリアル
@capgo/capacitor-background-taskを使用してバックグラウンドタスクをスケジュールします。
Android WorkManagerとiOS BGTaskSchedulerを使用して、名前付きタスク、永続的な登録、ステータスチェック、アンレジストリ、開発用トリガーを備えたCapacitorアプリで定期的なバックグラウンドフェッチワークをスケジュールします。
インストール
npm install @capgo/capacitor-background-task
npx cap sync
iOS セットアップ
iOS のバックグラウンド処理をサポートするように追加します。 ios/App/App/Info.plist:
<key>UIBackgroundModes</key>
<array>
<string>processing</string>
</array>
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
<string>app.capgo.backgroundtask.processing</string>
</array>
Then run:
npx cap sync ios
このプラグインが公開するもの
defineTask- 名前付きタスクの JavaScript コールバックを定義します。registerTaskAsync- 予約されたタスクを保存してスケジュールします。unregisterTaskAsync- 1 つのタスクをキャンセルします。isTaskRegisteredAsync- 1 つのタスクの登録状態を確認します。getRegisteredTasksAsync- 登録されたタスク名の一覧を表示します。getStatusAsync- iOS のバックグラウンドタスクの利用可能性を確認します。triggerTaskWorkerForTestingAsync- 開発用に登録されたタスクを即時実行します。addExpirationListener- iOS がタスクを期限切れとして扱ったときに反応します。
例外使用
__CAPGO_KEEP_0__
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,
});
タスクのステータスと登録されたタスク名を確認:
const status = await BackgroundTask.getStatusAsync();
const tasks = await BackgroundTask.getRegisteredTasksAsync();
console.log({ status, tasks });
開発用の実行をトリガー:
await BackgroundTask.triggerTaskWorkerForTestingAsync();
タスクをキャンセル:
await BackgroundTask.unregisterTaskAsync(SYNC_TASK);
プラットフォームに関する注意
- バックグラウンドタスクのスケジュールは、厳密なタイマーではなく、機会に応じて実行されます。
- Androidの周期的作業には、15分間隔の最小間隔があります。
- iOSは
minimumIntervalを最も早い開始日として扱い、実行が遅れる可能性があります。 - iOSのバックグラウンド処理を物理デバイスでテストする
フルリファレンス
- GitHub: https://github.com/Cap-go/capacitor-background-task/
- ドキュメント: /docs/plugins/background-task/
Using @capgo/capacitor-background-task
Capgoを使用している場合 Using @capgo/capacitor-background-task Capgoを使用してネイティブプラグインの作業を計画する場合、@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-background-task Capgoを使用してネイティブプラグインの作業を計画する場合、@capgo/capacitor-background-task Capgoを使用してネイティブプラグインの作業を計画する場合、@capgo/capacitor-background-task Getting Started Getting Started Capgo プラグイン ディレクトリ 製品ワークフローについての情報はCapgo プラグインディレクトリで確認できます。 Capacitor プラグインはCapgoによって提供されています。 実装詳細についての情報はCapacitor プラグインによってCapgoによって提供されています。 プラグインの追加または更新 プラグインの追加または更新の実装詳細