ネイティブバージョンごとにチャンネル
ネイティブビルドごとにチャンネルを作成します。ネイティブバージョン1.5.0をリリースした場合、1.5.0用のチャンネルを作成します。すべてのJSアップデートはそのチャンネルに送られます。
選択的なアップデート配布
バージョン1.3、1.4、1.5にアップデートをプッシュし、バージョン1.2をスキップしてください。古いネイティブバージョンが新機能をサポートできない場合に最適です。
AppFlowの移行準備
AppFlowのバージョンに結びついたチャンネルの動作を再現してください。各ネイティブビルドはCapgoチャンネルと同じ制御を持ちます。
優雅な非推奨化
__CAPGO_KEEP_0__をサンセットする準備ができたときに古いバージョンにアップデートを送信しないようにしてください。古いバージョンのユーザーは安定したまま、新しいバージョンはアップデートを受け取ります。
AppFlow マイグレーション
AppFlowユーザー:ここにマイグレーションパス
AppFlowはネイティブバージョンと自動的にバンドルを紐付けていました。Capgoを使用すると、より多くの柔軟性を持つ同じ動作を実現できます。
- 1各ネイティブバージョンごとにチャンネルを作成します(例:「native-1.5.0」)
- 2アプリを使用するチャンネルを指定してください。
- 3特定のチャンネルにバンドルを送信して、ターゲット化された配布を実現します。
- 4必要な場合にのみ、CLIを使用して一度に複数のチャンネルに送信します。
capacitor.config.ts
// Set channel based on native version
import { CapacitorConfig } from '@capacitor/cli'
import { version } from './package.json'
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
defaultChannel: `native-${version}`,
}
}
}
// Upload to specific version channels
# Push to all 1.5.x versions
npx @capgo/cli bundle upload --channel native-1.5.0
npx @capgo/cli bundle upload --channel native-1.5.1
npx @capgo/cli bundle upload --channel native-1.5.2
# Skip older versions that can't support new features
# native-1.4.x devices stay on their current bundle 一般的なシナリオ
ネイティブ変更の破損
ネイティブバージョン2.0には、新しいAPIが含まれています。JSのアップデートは、APIを使用する場合にのみ、2.0以上のチャンネルに送信してください。
段階的ロールアウト
最新のネイティブバージョンでリスキーな変更をテストしてください。安定したら古いバージョンにプッシュしてください。
バージョンサンセット
ネイティブ 1.x の更新を続けながら、2.x に配信を続ける。古いバージョンのユーザーは最後の安定バージョンに留まる。
バージョンからチャネルへのマッピング
各ネイティブバージョンは、厳密な更新制御のために独自のチャネルを指します。
ネイティブ 2.0
native-2.0.0
最新のバンドル
ネイティブ 1.5
native-1.5.0
最新のバンドル
ネイティブ 1.4
native-1.4.0
新しいアップデートはありません
2.0 と 1.5 チャンネルにのみアップデートをプッシュします。 1.4 のユーザーは、最後に機能したバンドルで安定します。