アップデートの種類
インストール手順と、このプラグインの完全なMarkdownガイドを含むセットアッププロンプトをコピーします。
Capgo は、いくつかの異なる OTA (over-the-air) アップデート方式をサポートしています。このページでは、アプリに最適な組み合わせを選択できるよう、すべての方式を一覧で紹介し、解説します。
適用タイミング
「適用タイミング」という見出しのセクションコントロール いつ アップデートはダウンロード後に適用されます。プラグインは、アプリがフォアグラウンドに移行した際、およびアプリ起動中に一定の間隔でアップデートを確認します。 periodCheckDelay その間隔を制御します(デフォルトは10分)。
| 種類 | 説明 | ユースケース |
|---|---|---|
autoUpdate: atBackground | フォアグラウンド確認のたびにチェックとダウンロードを行い、アプリがバックグラウンドに移行した際に適用する | ほとんどのアプリに推奨。ユーザーへの影響を最小限に抑えます |
autoUpdate: atInstall | 新規インストールまたはApp Store経由のNative Build更新時のみ即時適用。それ以外は使用しない atBackground | 新規ユーザーには最新版を、既存ユーザーにはバックグラウンド適用を利用 |
autoUpdate: onLaunch | コールドスタート時(終了→フォアグラウンド)のみ即時適用し、それ以外は以下にフォールバックします: atBackground | 最新性とセッションの安定性のバランス |
autoUpdate: always | フォアグラウンドへの遷移時に毎回チェックし、アップデートがあれば即座に適用します | 緊急の修正、ステート管理がシンプルなアプリ |
autoUpdate: onlyDownload | 自動的にチェックとダウンロードを行い、以下を通知します: updateAvailable、ただし自動適用は行いません | 独自のアップデートプロンプトを表示する、または実行タイミングを完全に制御したいアプリ set() |
設定方法: capacitor.config.ts:
plugins: { CapacitorUpdater: { autoUpdate: 'atBackground', // default; true is still accepted // or: 'off' | 'atInstall' | 'onLaunch' | 'always' | 'onlyDownload' }}遅延条件
「遅延条件」セクション満たす必要がある条件 の前に an update is installed. Use setMultiDelay 組み合わせて使用します(すべての条件を満たす必要があります)。
| 条件 | 説明 | 例 |
|---|---|---|
| 日付 | 指定した日時まで待機 | サーバー側のリリースと同期 |
| background | アプリがバックグラウンド移行後、一定時間(ms)待機 | アプリの素早い切り替え時の適用を回避 |
| nativeVersion | 最小ネイティブバイナリバージョンを指定 | 互換性のないネイティブ code でのアップデートをブロック |
| kill | 次回のアプリ終了イベントまで待機 | アプリの完全な再起動時のみ適用 |
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setMultiDelay({ delayConditions: [ { kind: 'date', value: '2023-06-01T00:00:00.000Z' }, { kind: 'background', value: '60000' }, ],});バージョンブロッキング (Channel Policy)
「バージョンブロッキング (Channel Policy)」セクション以下の項目を制御します: semverアップデート チャンネルが自動配信する対象。以下で設定: --disable-auto-update 各チャンネルにて。
| 戦略 | ブロック | 可能にする | ユースケース |
|---|---|---|---|
| なし | なし | 任意のターゲット bundle バージョン | デフォルト; 完全自動アップデート |
| メジャー | 指定したメジャーバージョンより高い version_build、例えば 1.2.3 -> 2.0.0 | 同じメジャーバージョン、例えば 1.2.3 -> 1.9.0 または 1.2.3 -> 1.2.4 | 破壊的な変更が古いネイティブ code に適用されるのを防ぐ |
| マイナー | 現在のメジャーまたはマイナーバージョンと異なる version_build, 例えば 1.2.3 -> 1.3.0 | メジャーとマイナーが同じ、例えば 1.2.3 -> 1.2.4 | アップデートを単一のネイティブ・マイナーバージョン内に収める |
| パッチ | メジャー、マイナー、パッチのいずれかの番号が変更された場合、例えば 1.0.0 -> 1.0.1 | サフィックスのみが変更され、 MAJOR.MINOR.PATCH は同一のまま、例えば 1.0.0-beta.1 -> 1.0.0-beta.2 または 1.0.0+build.1 -> 1.0.0+build.2 | 最も厳格なモード: コアバージョンの変更を許可しない |
| メタデータ | 不足 min_update_version、または version_build その下にある | 対象となるbundleの min_update_version 以下 version_build | bundleごとのカスタム互換性ルール |
これらのチェックでは、送信された Native Build のベースラインと対象の bundle を比較します version_build、現在インストールされているダウンロード済みの bundle ではなく、送信された version_name.
npx @capgo/cli channel set production --disable-auto-update major配信タイプ
「配信タイプ」セクションどのように bundle が転送されるか デバイスへ。
| 種類 | 説明 | 利用シーン |
|---|---|---|
| フルバンドル | JS bundle全体をダウンロード | 初回インストール、大幅な変更、またはdeltaが利用できない場合 |
| 差分 | 変更されたファイルのみをダウンロード | ほとんどのアップデート。高速で通信量も抑えられます |
# Full bundle (default)npx @capgo/cli bundle upload --channel production
# Delta updatesnpx @capgo/cli bundle upload --channel production --deltaクイックリファレンス
「クイックリファレンス」というタイトルのセクション| カテゴリ | タイプ |
|---|---|
| 適用タイミング | off, atBackground, atInstall, onLaunch, always, onlyDownload |
| 遅延条件 | date, background, nativeVersion, kill |
| バージョンのブロック | none, major, minor, patch, metadata |
| 配信 | フルバンドル、Delta |
関連情報
セクション「関連」- アップデートの動作 — アプリ適用タイミングと遅延の設定
- バージョンターゲティング — チャネルベースのバージョンルーティング
- 差分アップデート — 変更されたファイルのみをダウンロード
- チャンネル — チャネルの設定と優先順位
Update Types の続きを見る
「Update Types の続きを見る」セクション使用している場合 アップデートの種類 live update の配信を計画するには、以下と連携させます: Capgo Live Updates Capgo Live Updates のプロダクトワークフロー向けに、 概要 実装の詳細は Overview を 機能 実装の詳細は Features を アップデートの動作 実装の詳細はアップデートの動作を、および スタートガイド 実装の詳細については、Getting Started を参照してください。