メジャーバージョンのリリース時
バージョニングの管理は複雑になりがちです。通常、ユーザーに対して大きな変更を加える際には、メジャーアップデートを配信したいと考えます。
しかし、バージョニングの仕組みはそれ専用ではありません。App StoreのバージョンとNativeのバージョンは別物です。
Nativeのバージョンは、以下の破壊的変更を管理するためのものです。 code
例えばiOSの場合、iOS 16はAppleの store version バージョンですが、codeのバージョンは 20A5283p (AppleはSemVerを使用していないようです)
これらを混同せず、それぞれの用途に合わせて使い分けることが重要です!
メジャーリリース
Capacitorアプリにおいて、破壊的変更が発生した場合はメジャーリリースが必要です。 例えば、iOSのターゲット変更(15から16)、Capacitorのメジャーアップデート(3から4)、または使用しているプラグインのメジャーアップデート(1.2から2.0)などが該当します。
この変更により、破壊的変更に対応するためにすべてのツールを合わせる必要があります。
だからこそ、Capgoはこのシステムに従っています。
メジャーバージョンをリリースした場合、Capgoはストアからそのバージョンをインストールしていないユーザーには配信しません。
この挙動はカスタマイズ可能です。詳細については こちら
バージョン
比較対象のバージョンを Capgo が取得する場所
iOS
Capgo が JavaScript のバージョンと比較してメジャーアップグレードを判定するために使用されます
iOS では、変数はプロジェクトのここで設定されます ios/App/App/Info.plist キーの下にCFBundleShortVersionString または ios/App/App.xcodeproj/project.pbxproj キーの下に MARKETING_VERSION もし MARKETING_VERSION が設定されていた Info.plist ファイル。
version キーを設定することで、この動作を上書きできます
capacitor.config.jsonファイル ドキュメントはこちら
Android
Capgo が JavaScript バージョンと比較し、メジャーアップグレードを検知するために使用します
Android の場合、変数はプロジェクト内のここで設定します android/app/build.gradle キーの下に defaultConfig.versionName
version キーを設定することで、この動作を上書きできます
capacitor.config.jsonファイル ドキュメントはこちら
JavaScript
Capgo が Native バージョンと比較し、メジャーアップグレードを検知するために使用します
JavaScript の場合、変数はプロジェクト内のここで設定します package.json キーの下に version
例
現在、Ionicアプリは以下のバージョンでリリースされています: 1.2.3 Capacitor 3
現在、capacitor 4へのアップグレードを行っています。
バージョン番号を以下のように更新する必要があります: 2.2.3その後、すべてのパッケージにCapgoが含まれ、この大きな変更が通知されます。
このバージョンをCapgoおよびApp Storeにリリースすると、
Capgoにおける今後のすべてのlive updateは、 2.2.4 現在のバージョンではユーザーに送信されなくなります。 1.2.3 送信されるのは、 2.2.3 バージョンのみとなります。
このパターンに従えば、心配する必要はありません。すべて適切に処理されます。
これに従わない場合
この場合、Capacitor 4 を含む新しいアプリを Apple と Google に送信する必要がありますが、Capgo には送信できません。
すると、ユーザーの 90%〜100% が新しいアプリをインストールするまで待つ必要があり、それにはおそらく数ヶ月かかるでしょう。
その間、古いバージョンのユーザーは新しいバージョンを受け取れないため、Capgo によるアップデートを一切送信できなくなります。 また、特定のユーザーだけにアップデートを配信する手段もありません。
capgo でのメジャーバージョンのリリース方法へ戻る
使用している場合 capgo でメジャーバージョンをリリースする方法 ロールバックとバージョン管理を計画するには、次と連携してください ロールバック ロールバックの実装詳細については、 バージョンターゲティング Version Targeting の実装詳細については、 アップデートの動作 Update Behavior の実装詳細については、 bundle bundle の実装詳細については、また Capgo Live Updates Capgo Live Updates のプロダクトワークフローについては。