__CAPGO_KEEP_0__
このプラグインのインストール手順と全マークダウンガイドを含むセットアッププロンプトをコピーします。
このドキュメントでは、バージョン管理されたチャンネルを使用して、アプリのバージョン管理と互換性のあるアップデートを実現する方法について説明します。
例えば、
「例えば」次の状況を想定します。
- アプリバージョン 1.2.3 (古いバージョン) - プロダクションチャンネルを使用
- アプリバージョン 2.0.0 (新しいバージョンでバグ修正が含まれる) - v2 チャンネルを使用
- Live update 1.2.4 (1.2.3 と互換性がある)
- Live update 2.0.1 (2.0.0 と互換性がある)
戦略: メジャーバージョンでは常に defaultChannel を使用する
「Strategy: Always Use defaultChannel for Major Versions」セクションのタイトル推奨アプローチ: メジャーバージョンごとに defaultChannel を設定してください。 これにより、特定のユーザーグループにアップデートをプッシュすることができるようになりますが、ダイナミックチャネル割り当てに頼る必要がありません。
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'ターミナル画面
コピー# Create channel for version 2.xnpx @capgo/cli channel create v2Capacitor の設定をアップデートして、バージョン 2.0.0 をアプリストア用にビルドする前に
Capacitor.config.tsUpdate your Capacitor config before building version 2.0.0 for the app store:
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. Manage Separate Code Branches
3. 分離された 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 アプリケーション (プロダクション チャネル) のアップデート
- 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 チャネルを使用するようになります。理由は、アプリのバンドルに v2 チャネルが設定されているためです。
scaling to future versions
バージョンアップのためのスケーリングバージョン 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. クリーンアップ (移行後)
バージョンアップのためのスケーリングバージョン 2.x にすべてのユーザーが移行した後 (3-4 か月後):
- 削除
defaultChannelから Capacitor 設定 - 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ブランチに切り替えます:
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続ける
続けるバージョン 1.x に互換性のあるバグ修正を含む v1-maintenance branch を最新の状態に保つが、main から破壊的な変更をマージすることはない Breaking Changes to plan channel routing and staged rollout, connect it with バージョン 1.x に互換性のあるバグ修正を含む v1-maintenance branch を最新の状態に保つが、main から破壊的な変更をマージすることはないです。 Channelsの実装詳細について Channels Channelsの実装詳細について Channels Channelsの実装詳細について Betaテストソリューション Betaテストソリューションの製品フローについて、 バージョン目標ソリューション バージョン目標ソリューションの製品フローについて。