Capgo uses 2 main variables to manage versions in your Capacitor app:
- ネイティブバージョン
- JavaScriptバージョン
すべてのバージョンの選択は Capgo によってサーバーサイドで決定されます。
バージョニングシステム
バージョン Capgo を管理するには、SemVer システムを使用してください。詳しくはこちら ここ.
バージョン
ここで Capgo ではバージョンを比較する
この動作をオーバーライドするには、バージョンキーを設定してください。
capacitor.config.jsonファイル ここにドキュメントがあります。 すべてのプラットフォームでネイティブのバージョンは無視されます。
IOS
iOSでは、プロジェクトのここで変数を設定します ios/App/App/Info.plist 指定されたキーCFBundleShortVersionString または ios/App/App.xcodeproj/project.pbxproj 指定されたキー MARKETING_VERSION もし MARKETING_VERSION プロジェクトのファイルに Info.plist ファイル内です。
Android
Androidでは、プロジェクトのここで変数を設定します android/app/build.gradle 指定されたキー defaultConfig.versionName
JavaScript ( Capgo バンドルバージョン )
JavaScriptでは、プロジェクトのファイルに変数を設定できます package.json __CAPGO_KEEP_0__のキー下 version
アップロードコマンドでなければならないのです。
デフォルトの動作
Capgoチャンネルの動作は、設定を変更しない場合のものです。
デフォルトのチャンネルに基づいて動作が決まります。
Capacitorアプリの新規インストール時
ユーザーが初めてIonicアプリをダウンロードし、開くとCapgoサーバーに接続します。
現在、4つの結果が発生することがあります。
- Capgoバンドルバージョン(1.2.3)がCapgoバンドルバージョン(1.2.4)より低い場合、Capgoはユーザーにバンドルを送信します。
- Capgoバンドルバージョン(1.2.3)がCapgoバンドルバージョン(1.2.3)と等しい場合、Capgoは「アップデートが必要ありません」と送信します。
- Capgoバンドルバージョン(1.2.3)がCapgoバンドルバージョン(1.2.4)より低い場合、Capgoは「アップデートが必要ありません」と送信します。
- Capgoバンドルバージョン(2.2.3)がCapgoバンドルバージョン(1.2.3)よりメジャーバージョン下の場合、Capgoは「アップデートが必要ありません」と送信します。
その他の設定
ネイティブモード下での自動ダウンレートを無効にします。
この設定をfalseにすると、Capgoは常にバージョンの信頼できるソースとみなします。 その後、動作は次のようになります:
- Capgoバージョン (1.2.3) よりもネイティブバージョン (1.2.4) が高くなります。
Capgoはユーザーにバージョンを送信します。
自動アップグレード戦略を無効にします。
選択できる戦略は2つあります。詳しくは ここ
JavaScript バンドルバージョン
JavaScript バンドルバージョンは、実行するときに送信するバージョンです。 npx @capgo/cli@latest bundle upload --channel production
オプションを使用しない場合、__CAPGO_KEEP_0__はバンドルバージョンを取得します。 --bundle 1.2.3Capgo package.json バージョン (バージョン キー内).
Ionic アプリが Capgo のバージョンをインストールした後、このバージョンが比較対象となります。
- JavaScript バンドルバージョン (1.2.3) は Capgo バンドルバージョン (1.2.4) よりも低いです。 Capgo はユーザーにバンドルを送信します。
特定の条件付きで:
- native バンドルバージョンが Capgo バージョンより高くなった場合、
Disable auto downgrade under native条件が適用されます。 - native バンドルバージョンが Capgo バージョンより MAJOR 値が低くなった場合、
Disable auto upgrade above major条件が適用されます。
App Store の更新
Capacitor の JS アプリを App Store に公開した場合、以下のようになります。
ユーザーはストアから新しいバージョンを受け取り、ローカル更新を削除します。
その挙動を変更したい場合は、設定を変更する必要があります。 resetWhenUpdate それについてもっと詳しく知りたい場合は ここ
これはアプリ側でしか変更できず、クラウドから他の設定と同様に変更することはできません。
他の設定
この挙動の後、デバイスIDに特定のものを上にリンクできます。
ここで、CapgoにデバイスIDごとに挙動を上書きするかどうかを決定できます。
デバイスIDを以下のいずれかにリンクすることができます。
- 特定のバンドルバージョン
- 特定のチャンネル
これは上記の設定をすべて無視します。
詳細は以下の記事で学びましょう。