ページオプションをコピー
このプラグインのためのインストールステップと完全なマークダウンガイドを含むセットアッププロンプトをコピーできます。
このドキュメントでは、バージョン管理されたチャンネルを使用してアプリのバージョン管理を実現し、ユーザーが互換性のあるアップデートを受け取ることを保証する方法について説明します。
まず、以下の状況があります:
- App version 1.2.3 (古いバージョン) - 製品チャネルを使用
- App version 2.0.0 (新しいバージョンで破壊的な変更が含まれる) - v2 チャネルを使用
- Live update 1.2.4 (1.2.3 と互換性がある)
- Live update 2.0.1 (2.0.0 と互換性がある)
戦略: 大きなバージョンごとにデフォルトチャネルを常に使用する
Section titled “戦略: 大きなバージョンごとにデフォルトチャネルを常に使用する”推奨アプローチ: 毎回のメジャーバージョンごとにデフォルトチャネルを設定する defaultChannel これにより、特定のユーザーグループにアップデートをプッシュすることができるようになりますが、ダイナミックチャネル割り当てに依存する必要はありません。
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'3. New Version Channel を選択
Section titled “1. New Version Channel の作成”# Create channel for version 2.xnpx @capgo/cli channel create v22. バージョン 2.0.0 に対する Capacitor の設定の更新
Section titled “2. バージョン 2.0.0 に対する Capacitor の設定の更新”バージョン 2.0.0 のアプリストア用ビルドにあたり、Capacitor の設定を更新してください:
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;「3. 分離された Code ブランチを管理する」セクション
Section titled “3. Manage Separate Code Branches”ターミナル画面
# 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 main古いアプリが期待するネイティブ __CAPGO_KEEP_0__/API を持っていない場合、JavaScript バンドルを push してはいけません。常に、適切なブランチからアップデートをビルドしてください: Never push JavaScript bundles to older apps that expect native code/APIs they don’t have. Always build updates from the appropriate branch:
- : 1.x アプリのアップデート (プロダクション チャンネル) に対して__CAPGO_KEEP_0__
- メインブランチ: 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 create 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 の設定から削除 - バージョン 2 のチャネルを削除:
npx @capgo/cli channel delete v2- バージョン1-maintenance branchを削除してください:
git branch -d v1-maintenancegit push origin --delete v1-maintenance常に各チャンネルでテストすることによって、更新を安全にデプロイするようにしてください。
バージョン1.xの更新の維持
「バージョン1.xの更新の維持」のセクションバージョン 1.x に対応する更新を送信するには:
- バージョン 1.x のメンテナンスブランチに切り替えます:
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 productionBreaking Changesから続ける
Breaking Changesから続けるセクションCapgoを使用している場合 Breaking Changes Capgoのリリースチャンネル機能である Channels チャンネル チャンネル チャンネル チャンネル チャンネル ベータテスト ソリューション ベータテスト ソリューションにおける製品ワークフロー、および バージョン目標ソリューション バージョン目標ソリューションにおける製品ワークフロー。