ネイティブバージョンごとのチャンネル
ネイティブビルドごとにチャンネルを作成します。ネイティブバージョン 1.5.0 をリリースした場合、1.5.0 に対してチャンネルを作成します。すべての JS アップデートは、そのチャンネルに送られます。
選択的なアップデート配布
バージョン 1.3、1.4、1.5 にアップデートをプッシュし、バージョン 1.2 をスキップしてください。古いネイティブバージョンが新機能をサポートできない場合にぴったりです。
AppFlow マイグレーション用意
AppFlow のバージョンに結びついたチャンネル動作を完全に再現します。各ネイティブビルドは、Capgo チャンネルと同じ制御を持つチャンネルにマップされます。
優雅な非推奨化
古いバージョンにアップデートを送信しないでください。古いバージョンのユーザーは安定したまま、新しいバージョンはアップデートを受け取ります。
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を使用するAPIが含まれます。新しいAPIを使用するJSのアップデートは、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 のユーザーは、最後に機能したバンドルで安定します。