スタートガイド
インストール手順と、このプラグインの完全なMarkdownガイドを含むセットアッププロンプトをコピーします。
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 Capacitor アプリで、同期、キャッシュの更新、アナリティクスの送信、その他のバックグラウンドでのフェッチ操作などのために、定期的なジョブを登録できます。
インストール
「インストール」セクションAIアシストによるセットアップでプラグインをインストールできます。以下のコマンドを使用して、お使いのAIツールに Capgo のスキルを追加してください:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins次に、以下のプロンプトを使用します:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-background-task` plugin in my project.手動セットアップを希望する場合は、以下のコマンドを実行してプラグインをインストールし、下記のプラットフォーム別の手順に従ってください:
npm install @capgo/capacitor-background-tasknpx cap synciOSのセットアップ
「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>次に実行します:
npx cap sync iosインポート
「インポート」セクションimport { BackgroundTask, BackgroundTaskResult } from '@capgo/capacitor-background-task';よくある落とし穴
「よくある落とし穴」セクション- モジュールのスコープ: 登録
defineTaskの前にregisterTaskAsync. - iOSのID: 一致させる
BGTaskSchedulerPermittedIdentifiersエントリ。 - 実行間隔: OSにより、以下の時間を超えてジョブが遅延する場合があります
minimumInterval.
タスクの定義
「タスクの定義」セクションコールバックをモジュールスコープで定義してください。これにより、OSによってアプリが起動された直後に登録されます。
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; }});スケジュールの登録
「スケジュールの登録」セクション呼び出す registerTaskAsync アプリがバックグラウンドジョブを実行するために十分なコンテキストを取得した後で、
await BackgroundTask.registerTaskAsync(SYNC_TASK, { minimumInterval: 30, requiresNetwork: true,});minimumInterval は分単位です。Androidでは最低15分が強制されます。iOSでは、この値は「最短開始時刻」として扱われ、実行が遅れる場合があります。
ステータスの確認
「ステータスの確認」というタイトルのセクションconst status = await BackgroundTask.getStatusAsync();const isRegistered = await BackgroundTask.isTaskRegisteredAsync(SYNC_TASK);const registeredTasks = await BackgroundTask.getRegisteredTasksAsync();
console.log({ status, isRegistered, registeredTasks });テスト実行のトリガー
「テスト実行のトリガー」というタイトルのセクション開発やQA環境でテストトリガーを使用できます。登録されているすべてのタスクが即座に呼び出されます。
await BackgroundTask.triggerTaskWorkerForTestingAsync();タスクの登録解除
「タスクの登録解除」というタイトルのセクションawait BackgroundTask.unregisterTaskAsync(SYNC_TASK);iOSの有効期限
「iOSの有効期限」というタイトルのセクションiOSでは、JavaScriptの処理が完了する前にバックグラウンドタスクが停止されることがあります。クリーンアップやチェックポイントの保存が必要な場合は、expiration イベントをリッスンしてください。
const expiration = await BackgroundTask.addExpirationListener((event) => { console.warn('Background task expired', event.taskName, event.taskId);});
await expiration.remove();React Native Background Task の互換性
「React Native Background Task の互換性」セクションこのプラグインは、以下から移行するアプリ向けに、軽量な互換レイヤーも提供しています: 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,});本番環境での注意点
「本番環境の注意点」セクション- バックグラウンドのスケジューリングは正確ではなく、実行可能なタイミングで行われます。
- 処理は短時間で、べき等性を保つようにしてください。
- タスクを終了する前に、必要な状態をすべて永続化してください。
BackgroundTaskResult.Success. - ユーザーに表示される期限やアラームの実行を、バックグラウンドタスクに依存しないでください。
Getting Startedの続きを進める
「Getting Started からの続き」セクション使用している場合 スタートガイド ネイティブプラグインの作業を計画するには、次と連携してください: @capgo/capacitor-background-task の使い方 「Using @capgo/capacitor-background-task」のネイティブ機能については、 Capgo プラグインディレクトリ Capgo プラグインディレクトリのプロダクトワークフローについては、 Capgo による Capacitor プラグイン Capgo による Capacitor プラグインの実装詳細については、 プラグインの追加または更新 プラグインの追加または更新における実装詳細については、および Ionic Enterprise プラグインの代替案 Ionic Enterprise プラグインの代替案におけるプロダクトワークフローについては。