article illustration Capgoにおけるバージョンの仕組み
Tutorial
Last update: June 29, 2023

Capgoにおけるバージョンの仕組み

CapgoがあなたのCapacitorアプリでバージョンを管理する方法を理解し、それを最適に使用します。メジャー、マイナー、パッチの重要性について学びましょう。

Capgoは、Capacitorアプリでバージョンを管理するために2つの主な変数を使用します:

  • ネイティブバージョン
  • JavaScriptバージョン
Capacitor update system

すべてのバージョン選択は、Capgoによってサーバーサイドで決定されます

バージョニングシステム

バージョン管理のために、CapgoはSemVerシステムを使用します。詳細についてはこちらを参照してください。

バージョン

Capgoが比較するバージョンの取得場所

この動作は、capacitorconfigjsonファイルでversionキーを設定することでオーバーライドできますドキュメントはこちら ネイティブバージョンは、すべてのプラットフォームで無視されます

iOS

iOSでは、変数はプロジェクトのここios/App/App/InfoplistCFBundleShortVersionStringキーの下に設定されるか、ios/App/App.xcodeproj/project.pbxprojMARKETING_VERSIONキーの下に設定されます。ただし、MARKETING_VERSIONInfoplistファイルに設定されている場合です。

Android

Androidでは、変数はプロジェクトのここandroid/app/build.gradledefaultConfig.versionNameキーの下に設定されます。

JavaScript(Capgoバンドルバージョン)

JavaScriptでは、変数はpackage.jsonversionキーの下に設定できます。 そうでない場合は、アップロードコマンドで提供する必要があります。

デフォルト動作

設定を変更しなかった場合、Capgoチャネルはこのように動作します。

この動作は、デフォルトとして作成したユニークチャネルに基づきます。

Capacitorアプリの新規インストール時

ユーザーが初めてIonicアプリをダウンロードし、アプリを開くと、Capgoサーバーに接続します。

現在、以下の4つの出力が発生する可能性があります:

  • ネイティブバンドルバージョン(123)がCapgoバンドルバージョン(124)よりも低い場合、Capgoはユーザーにバンドルを送信します。
  • ネイティブバンドルバージョン(123)がCapgoバンドルバージョン(123)と等しい場合、Capgoは「更新の必要なし」と送信します。
  • ネイティブバンドルバージョン(124)がCapgoバンドルバージョン(123)よりも高い場合、Capgoは「更新の必要なし」と送信します。
  • ネイティブバンドルバージョン(123)がCapgoバンドルバージョン(223)よりも大幅に低い場合、Capgoは「更新の必要なし」と送信します。

その他の設定

ネイティブの自動ダウングレードを無効にする

この設定をfalseに変更すると、Capgoは常にバージョンの信頼できるソースとして認識します。 その後、動作が次のようになります:

  • ネイティブバージョン(124)がCapgoバージョン(123)よりも高い

Capgoはユーザーにそのバージョンを送信します。

自動アップグレード戦略を無効にする

いくつかの戦略から選択できます。詳細についてはこちらをご覧ください。

JavaScriptバンドルバージョン

JavaScriptバンドルバージョンは、npx @capgo/cli@latest bundle upload --channel productionを実行したときに送信するものです。

--bundle 123オプションを使用しなかった場合、Capgoはpackage.jsonファイルからバンドルバージョンを取得します(versionキーで)。

IonicアプリがCapgoから1つのバージョンをインストールした後、そのバージョンが比較されます:

  • 彼らのJavaScriptバンドルバージョン(123)がCapgoバンドルバージョン(124)よりも低い場合、Capgoはユーザーにそのバンドルを送信します。

いくつかのガード条件があります:

  • ネイティブバンドルバージョンがCapgoバージョンよりも高い場合、ネイティブの自動ダウングレードを無効にする条件が適用されます。
  • ネイティブバンドルバージョンがCapgoバージョンよりも大幅に低い場合、メジャー以上の自動アップグレードを無効にする条件が適用されます。

アプリストアの更新

Capacitor JSアプリをApp Storeに公開する際、起こることはシンプルです。

ユーザーはストアから新しいバージョンを取得し、デフォルトでアプリ内のすべてのローカル更新を削除します。

この動作を変更したい場合は、resetWhenUpdate設定を設定する必要があります。詳細についてはこちらをご覧ください。

これは、他の設定のようにクラウドから変更することはできず、アプリ側でのみ変更可能です。

その他の設定

このすべての動作の後、デバイスIDに関連する特定のものを持つことができます。

Capgoでは、各デバイスIDの動作をオーバーライドすることができます。

デバイスIDを以下にリンクできます:

  • 特定のバンドルバージョン
  • 特定のチャネル

これにより、上記で行われたすべての設定がバイパスされます。

以下の記事で詳細を学びましょう。

Authored By

最新のニュース

Capgoは、真にプロフェッショナルなモバイルアプリを作成するために必要な最高のインサイトを提供します。