Capgoは、Capacitorアプリのバージョン管理に2つの主な変数を使用します。
- ネイティブバージョン
- JavaScriptバージョン
Capgoによってすべてのバージョン選択がserver側で決定されます。
バージョニングシステム
Capgoのバージョン管理にはSemVerシステムを使用します。SemVerの仕様を読む SemVer仕様 またはCapgoの更新の互換性を確認する Semver テスター.
バージョン
Capgoでバージョンを比較する場所を探す
この動作を上書きするには、バージョンキーを設定できます。
capacitor.config.jsonファイル ドキュメントはこちら すべてのプラットフォームでネイティブのバージョンは無視されます。
iOS
iOSでは、プロジェクトのここで変数が設定されています ios/App/App/Info.plist このキーCFBundleShortVersionString または ios/App/App.xcodeproj/project.pbxproj under the key MARKETING_VERSION if MARKETING_VERSION was set in your Info.plist file.
Android
In Android, the var is set on your project here android/app/build.gradle under the key defaultConfig.versionName
JavaScript ( Capgo bundle version )
In JavaScript, the var can be set in your package.json under the key version
Otherwise you need to provide it in the upload command.
Default behavior
このように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は常にバージョンの信頼できるソースとして扱われます。 その後、動作は次のようになります。
- nativeバージョン(1.2.4)がCapgoバージョン(1.2.3)より高くなっています
Capgoは自分のバージョンをユーザーに送信します
自動アップグレード戦略を無効にします
選択肢は2つあります。詳しくは ここ
JavaScriptバンドルバージョン
JavaScriptバンドルバージョンは、実行するときに送信するバージョンです npx @capgo/cli@latest bundle upload --channel production
オプションを使用しない場合は、__CAPGO_KEEP_0__はバンドルバージョンをファイル(バージョンキー)から取得します --bundle 1.2.3CapgoがIonicアプリにインストールしたバージョンが1つあると、このバージョンが比較対象となります package.json __CAPGO_KEEP_1__のJavaScriptバンドルバージョン(1.2.3)は__CAPGO_KEEP_0__のバンドルバージョン(1.2.4)より低くなっています。__CAPGO_KEEP_1__は自分のバンドルをユーザーに送信します。
__CAPGO_KEEP_1__のバンドルバージョン(1.2.3)はCapgoのバンドルバージョン(1.2.4)より低くなっています。__CAPGO_KEEP_1__は自分のバンドルをユーザーに送信します。
- Capgoのバンドルバージョン(1.2.3)はCapgoのバンドルバージョン(1.2.4)より低くなっています。Capgoは自分のバンドルをユーザーに送信します。
特定の条件を設定します:
- ネイティブのバンドルバージョンがCapgoバージョンよりも高くなければならない場合、条件が適用されます。
Disable auto downgrade under nativeネイティブのバンドルバージョンが__CAPGO_KEEP_0__バージョンよりもMAJOR低くなければならない場合、条件が適用されます。 - If native bundle version is MAJOR lower than Capgo version, the
Disable auto upgrade above major__CAPGO_KEEP_0__のJSアプリをApp Storeに公開すると、ユーザーは新しいバージョンをストアから取得し、デフォルトではアプリ内のすべてのローカル更新を削除します。
その挙動を変更したい場合は、設定を変更する必要があります。
When you publish your Capacitor JS app on the App Store, what happens is simple.
この挙動は、アプリ側でしか変更できず、クラウド側から変更することはできません。
アプリ側で挙動を変更したい場合は、 resetWhenUpdate read more about it here
This can only be changed on the app side, not from the cloud like other settings.
その他の設定
この動作の後、デバイスIDに特定のものを上記のようにリンクできます。
Capgo内で、各デバイスIDごとに動作を上書きすることができます。
デバイスIDを以下のいずれかとリンクすることができます。
- 特定のバンドルバージョン
- 特定のチャンネル
これは上記の設定をすべてバイパスします。
詳細は以下の記事でご確認ください。
Capgoの「バージョンについて」から続きます。
Capacitorを使用している場合 How version work in Capgo ネイティブプラグインの作業を計画する場合、Capacitorを接続する必要があります。 Capgo プラグイン ディレクトリ Capgo プラグイン ディレクトリの製品ワークフローについて Capacitor プラグインは Capgo によって提供されます Capacitor プラグインの実装詳細については Capgo によって提供されます プラグインの追加または更新 プラグインの追加または更新の実装詳細については Ionic Enterprise プラグインの代替 Ionic Enterprise プラグインの代替の製品ワークフローについて Capgo ネイティブ ビルド Capgo ネイティブ ビルドの製品ワークフローについて