メインコンテンツにスキップ
@capgo/capacitor-バックグラウンドタスク デバイスAPI オープンソース

バックグラウンドタスク Capacitor プラグイン

iOSとAndroidでExpoスタイルのタスク登録を使用して、定期的なバックグラウンドフェッチタスクをスケジュールします。

インストール

bun add @capgo/capacitor-background-task bunx cap sync
npm、pnpm、またはyarn
  • npm install @capgo/capacitor-background-task
  • pnpm add @capgo/capacitor-background-task
  • yarn add @capgo/capacitor-background-task

ガイド

Capacitor でバックグラウンド タスクを使用する方法

デバイスでテスト

Capgo アプリをダウンロードし、QR code をスキャンしてください。

バックグラウンドタスク プラグイン プレビュー QR code

@capgo/capacitor-background-taskを使用

Capacitorアプリで、名前付きタスク、永続的登録、ステータスチェック、アンレジストリング、開発用トリガーを使用して、定期的なバックグラウンドフェッチワークを設定します。プラグインはAndroid WorkManagerとiOS BGTaskSchedulerを使用します。

インストール

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

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

This Plugin Exposes

  • defineTask - 名前付きタスクのためのJavaScriptコールバックを定義します。
  • registerTaskAsync - 期間を設定し、タスクを保存します。
  • unregisterTaskAsync - 1 つのタスクをキャンセルします。
  • isTaskRegisteredAsync - 1 つのタスクの登録状態を確認します。
  • getRegisteredTasksAsync - 登録されたタスク名の一覧を表示します。
  • getStatusAsync - ネイティブのバックグラウンドタスクの利用可能性を確認します。
  • triggerTaskWorkerForTestingAsync - 開発用に登録されたタスクを即時実行します。
  • addExpirationListener - iOS がタスクを期限切れにしたときに反応します。

例の使用方法

モジュールスコープでタスクを定義して、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;
  }
});

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のバックグラウンド処理を物理デバイスでテストします。

フルリファレンス

Using @capgo/capacitor-background-task

Capacitorを使用している場合 Using @capgo/capacitor-background-task native plugin work を計画するには、を接続する @capgo/capacitor-バックグラウンドタスク @capgo/capacitorバックグラウンドタスクの実装詳細 Getting Startedの実装詳細についてはGetting Startedを参照してください Capacitor プラグイン ディレクトリ Capgo プラグインディレクトリ for the product workflow in Capgo Plugin Directory, Capacitor Capgoのプラグイン Capacitor プラグインの実装詳細については、Capgo によって提供されるプラグインです。 Capacitor Capacitor

FAQ

バックグラウンドタスクプラグインのFAQ

CapacitorバックグラウンドタスクプラグインをCapacitorアプリにインストールする方法は何ですか。

Run &quot;bun add @capgo/capacitor-background-task&quot; (or &quot;npm install @capgo/capacitor-background-task&quot;), then run &quot;bunx cap sync&quot; so the iOS and Android projects pick up the native code. Import it from &quot;@capgo/capacitor-background-task&quot; in your app code.

Does @capgo/capacitor-background-task work with React, Vue and Angular?

Yes. Background Task is a Capacitor package, so it works with any web framework that runs inside Capacitor, including Ionic, React, Vue, Angular, Svelte and plain JavaScript.

Which Capacitor version does @capgo/capacitor-background-task support?

Capgo plugins follow Capacitor&#39;s major version: use the plugin major version that matches your Capacitor major version (for example plugin v8 with Capacitor 8). The compatibility table in the GitHub README lists the maintained versions.

Is @capgo/capacitor-background-task free and open source?

Yes. The source code is public on GitHub at https://github.com/Cap-go/capacitor-background-task/ and the package is free to install from npm. Bug reports and pull requests are welcome.

Capgoを使用するcodeをApp Storeのレビューなしでアップデートできますか?

codeとCapgoを使用して、プラグインのインストールまたはアップグレードはネイティブコードを変更するため、新しいストアビルドが必要になります。その後、プラグインを呼び出すJavaScript、HTML、CSSの変更はCapgoのライブアップデートとともに即時で配信できます。

アプリのレビューを待たずに、バックグラウンドタスクの変更を配信する

プラグインがストアのビルドに追加されたら、Capgo ライブアップデートは、ユーザーにJavaScript、HTML、CSSの変更を数分で反映する

Capgo で始める