Skip to content

ページオプションをコピー

__CAPGO_KEEP_2__

例えば、以下のような状況があります:

  • Appバージョン 1.2.3(古いバージョン) - 製品チャネルを使用
  • App version 2.0.0 (new version with breaking changes) - v2 チャネルを使用します。
  • ライブアップデート 1.2.4(1.2.3と互換性あり)
  • ライブアップデート 2.0.1(2.0.0と互換性があります)

戦略:すべてのメジャーバージョンでは、defaultChannel を常に使用する

メインバージョンでは常にdefaultChannelを使用する戦略

推奨アプローチ: 更新設定 defaultChannel すべてのメジャーバージョンに対して。 これにより、特定のユーザーグループにアップデートを常にプッシュできるようになり、ダイナミックチャネル割り当てに頼る必要がなくなります。

// Version 1.x releases
defaultChannel: 'v1'
// Version 2.x releases
defaultChannel: 'v2'
// Version 3.x releases (future)
defaultChannel: 'v3'
ターミナル画面
# Create channel for version 2.x
npx @capgo/cli channel create v2

バージョン 2.0.0 をアプリストア用にビルドする前に、Capacitor の設定を更新してください:

capacitor.config.ts
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;

アプリのバージョン間の互換性を維持するために、別々のGitブランチを作成してください:

ターミナル画面
# Create and maintain a branch for version 1.x updates
git checkout -b v1-maintenance
git push origin v1-maintenance
# Your main branch continues with version 2.x development
git checkout main

重要: 古いアプリが期待するネイティブcode/APIを備えていない場合には、JavaScriptバンドルをpushしてはいけません。 どのブランチからも適切な更新をビルドしてください:

  • v1-maintenanceブランチ: 1.xアプリの更新 (プロダクションチャンネル) について
  • メイン ブランチ: 2.x アプリケーション (v2 チャネル) の更新について

4. 各チャネルにバンドルをアップロードする

「4. 各チャネルにバンドルをアップロードする」セクション
ターミナル ウィンドウ
# For 1.x updates: Build from v1-maintenance branch
git checkout v1-maintenance
# Make your 1.x compatible changes here
npx @capgo/cli bundle upload --channel production
# For 2.x updates: Build from main branch
git checkout main
# Make your 2.x changes here
npx @capgo/cli bundle upload --channel v2

5. 自分自身の割り当てを有効にする

「5. 自分自身の割り当てを有効にする」セクション
ターミナル ウィンドウ
# Allow apps to self-assign to v2 channel
npx @capgo/cli channel set v2 --self-assign

6. アプリ ストアにデプロイする

「6. アプリ ストアにデプロイする」セクション

アプリストアにバージョン 2.0.0 をビルドおよびデプロイします。 このバージョンをダウンロードするすべてのユーザー(新規ユーザーまたはアップグレード中の既存ユーザー)は、バンドルに設定されているため、自動的に v2 チャンネルを使用します。

ターミナルウィンドウ

コピー
# Create channel for version 3.x
npx @capgo/cli channel create v3
// capacitor.config.ts for version 3.0.0
const config: CapacitorConfig = {
// ...
plugins: {
CapacitorUpdater: {
defaultChannel: 'v3' // Version 3.x users
}
}
};

現在は、任意のバージョンにアップデートをプッシュできます:

  • production チャンネル → バージョン 1.x ユーザー
  • v2 チャンネル → バージョン 2.x ユーザー
  • v3 チャンネル → バージョン 3.x ユーザー

バージョン 2.x にすべてのユーザーが移行した後 (約 3-4 か月後):

  1. 削除 defaultChannel Capacitor の設定から削除
  2. バージョン 2 のチャンネルを削除:
ターミナル画面
npx @capgo/cli channel delete v2
  1. v1-maintenance branchを削除してください:
ターミナル画面
git branch -d v1-maintenance
git push origin --delete v1-maintenance

各チャンネルでテストを徹底的に行うことで、常に更新を安全に展開することができます。

バージョン1.xの更新の維持

「バージョン1.xの更新の維持」

バージョン 1.x に対応する更新を送信するには:

  1. バージョン 1.x のメンテナンスブランチに切り替えます:
ターミナルウィンドウ
git checkout v1-maintenance
  1. 変更を加えてコミットしてください:
ターミナルウィンドウ
# Make 1.x compatible changes
git add .
git commit -m "Fix for v1.x"
git push origin v1-maintenance
  1. ビルドしてプロダクションチャンネルにアップロードしてください:
ターミナルウィンドウ
npx @capgo/cli bundle upload --channel production

Capgoを使用している場合 Breaking Changes Capgoのチャネルルーティングとステージドロールを計画するために使用するには、Channelsを接続してください。 チャンネル チャンネル チャンネル チャンネル チャンネル チャンネル ベータテスト ソリューション ベータテスト ソリューションにおける製品ワークフロー、および バージョン ターゲット ソリューション バージョン ターゲット ソリューションにおける製品ワークフロー。