バージョン変更点
このプラグインのインストール手順と全マークダウンガイドを含む設定プロンプトをコピーする
バージョン管理チャンネルを使用してアプリのバージョン管理を実施する方法について説明します。このアプローチにより、ユーザーが互換性のあるアップデートを受けながら、アプリの異なるバージョンを維持できます。
例シナリオ
例シナリオ例えば、次のようになります。
- アプリバージョン 1.2.3 (古いバージョン) - プロダクションチャンネルを使用
- アプリバージョン 2.0.0 (新しいバージョンにバグが含まれる) - v2 チャンネルを使用
- Live update 1.2.4 (1.2.3 と互換性があります)
- Live update 2.0.1 (Capacitor 2.0.0 に互換性があります)
Strategy: Major Version の場合、defaultChannel を常に使用する
Strategy: Always DefaultChannel を使用するメジャーバージョン推奨アプローチ: メジャーバージョンごとに defaultChannel を設定します。 これにより、特定のユーザーグループにアップデートをプッシュできるようになりますが、ダイナミックチャネル割り当てに依存する必要がありません。
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'1. 新バージョン用チャンネルを作成
セクション “1. 新バージョン用チャンネルを作成”# Create channel for version 2.xnpx @capgo/cli channel add v22. バージョン 2.0.0 に対して Capacitor 設定を更新
セクション “2. バージョン 2.0.0 に対して Capacitor 設定を更新”Capacitorをアップデートしてアプリストア用バージョン2.0.0のビルド前に設定してください。
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { appId: 'com.example.app', appName: 'Example App', plugins: { CapacitorUpdater: { // ... other options defaultChannel: 'v2' // All 2.0.0 users will use v2 channel } }};
export default config;Codeの設定をコピー
Codeの設定をコピーバージョン間の互換性を維持するために、別々のGitブランチを作成してください:
# Create and maintain a branch for version 1.x updatesgit checkout -b v1-maintenancegit push origin v1-maintenance
# Your main branch continues with version 2.x developmentgit checkout mainCritical: code/APIを提供していない古いアプリにJavaScriptバンドルをプッシュしないでください。適切なブランチから常にアップデートをビルドしてください:
- v1-maintenanceブランチ: 1.xアプリのアップデート (productionチャネル)
- mainブランチ: 2.xアプリのアップデート (v2チャネル)
4. 各チャネルにアップロードするバンドル
4. 各チャネルにアップロードするバンドル# For 1.x updates: Build from v1-maintenance branchgit checkout v1-maintenance# Make your 1.x compatible changes herenpx @capgo/cli bundle upload --channel production
# For 2.x updates: Build from main branchgit checkout main# Make your 2.x changes herenpx @capgo/cli bundle upload --channel v25. 自分自身の割り当てを有効にする
「5. 自分自身の割り当てを有効にする」のセクション# Allow apps to self-assign to v2 channelnpx @capgo/cli channel set v2 --self-assign6. アプリストアに展開する
「6. アプリストアに展開する」のセクションバージョン 2.0.0 をアプリストアに展開する。すべてのユーザーがこのバージョンをダウンロードした場合(新規ユーザーか、既存のユーザーがアップグレードした場合)、自動的に v2 チャンネルを使用するようになります。なぜなら、アプリパッケージにチャンネルが設定されているからです。
将来のバージョンへの拡大
「将来のバージョンへの拡大」セクションバージョン 3.0.0 をリリースする際に、さらに多くの破壊的変更が含まれる場合:
# Create channel for version 3.xnpx @capgo/cli channel add v3// capacitor.config.ts for version 3.0.0const config: CapacitorConfig = { // ... plugins: { CapacitorUpdater: { defaultChannel: 'v3' // Version 3.x users } }};今すぐ、任意のバージョンにアップデートをプッシュできます:
productionチャネル → バージョン 1.x ユーザーv2チャネル → バージョン 2.x ユーザーv3チャネル → バージョン 3.x ユーザー
7. マイグレーション後 (クリーンアップ)
セクションのタイトル “7. マイグレーション後クリーンアップ””すべてのユーザーがバージョン 2.x にマイグレーションした後 (3-4 か月後):
- 削除
defaultChannelCapacitor の設定から削除 - v2 チャンネルを削除:
npx @capgo/cli channel delete v2- v1-maintenance ブランチを削除:
git branch -d v1-maintenancegit push origin --delete v1-maintenance常に各チャンネルで更新を徹底的にテストし、展開する前に
バージョン 1.x の更新の維持
バージョン 1.x の更新の維持バージョン 1.x に適合した更新を送信するには:
- v1-maintenance branch に切り替え:
git checkout v1-maintenance- 変更を加えてコミット:
# Make 1.x compatible changesgit add .git commit -m "Fix for v1.x"git push origin v1-maintenance- ビルドとプロダクションチャンネルにアップロード:
npx @capgo/cli bundle upload --channel production続きます
「続きます」セクション「続きます」セクション 破壊的な変更 Live Update チャンネル Live Update チャンネル Live Update チャンネル Live Update チャンネル チャンネル ベータテストソリューション ベータテストソリューション