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

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

__CAPGO_KEEP_0__ プラグインのスケジュール

インストール

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

Using @capgo/capacitor-background-task

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.

iOSの設定

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

- 名前付きタスクのためのJavaScriptコールバックを定義します。

  • defineTask - __CAPGO_KEEP_1__-background-task
  • registerTaskAsync - iOSのバックグラウンドタスクを実行し、定期的にタスクをスケジュールする。
  • 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 ネイティブプラグインの作業を計画し、 @capgo/capacitor-バックグラウンドタスク @capgo/capacitorバックグラウンドタスクの実装詳細 はじめに Getting Startedの実装詳細については Capgo プラグインディレクトリ for the product workflow in Capgo Plugin Directory, Capacitor プラグインは Capgo によって提供されます。 for Capacitor の実装詳細については、Capgo によって提供されるプラグインで Capacitor プラグインの追加または更新 Capacitor プラグインの追加または更新の実装詳細については

続き

FAQ (よくある質問) - バックグラウンドタスクプラグイン

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

「bun add @capgo/capacitor-background-task」(または「npm install @capgo/capacitor-background-task」)を実行し、次に「bunx cap sync」を実行してiOSとAndroidのプロジェクトがネイティブcodeを取得できるようにします。次に、@capgo/capacitor-background-taskをアプリケーションcodeからインポートします。

React、Vue、Angularで@capgo/capacitor-background-taskが動作するか?

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.

は@capgo/capacitor-background-taskが無料でオープンソースですか?

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が変更されるため、新しいストアビルドが必要になります。その後、JavaScript、HTML、CSSの変更がプラグインを呼び出すと、Capgoのライブアップデートで即時配信できます。

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

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

Capgo で始めましょう