Capgo Semver テスター
Capacitor アプリのアップデートのシーケンスバージョン互換性を確認する
「ローカルバージョン」は何を意味するか
ローカルバージョンは、デバイスがバンドルを要求するときにすでにインストールされているバージョンです。Capacitor アプリでは、その値は
CapacitorUpdater.version で取得できます。 capacitor.config.*その設定が
存在しない場合、プラグインはiOSまたはAndroidのネイティブアプリのバージョンにフォールバックします。ネイティブアプリのバージョンをあなたの package.json
バージョンと勘違いしないでください。__CAPGO_KEEP_0__ の設定が存在しない場合、ネイティブアプリのバージョンをコピーして設定またはネイティブメタデータに追加する必要があります。
Capacitor 設定
設定 CapacitorUpdater.version アプリが明示的に指定したバージョンを送信したい場合。
Pro: iOSとAndroidのビルドを同じに保つことが簡単です。
Con: 古い設定を忘れてアップデートしないままネイティブリリースを実行すると、間違ったバージョンを報告する可能性があります。
ネイティブアプリバージョン
プラットフォームのバージョンを使用します。例えば、iOS CFBundleShortVersionString またはAndroid
versionName.
Pro: TestFlight、App Store、Play Store、または内部テストからインストールされたユーザーが実行しているバイナリのバージョンと一致します。
Con: リリース設定が異なる場合、プラットフォームによって異なる場合があり、変更するにはネイティブビルドが必要です。
ターゲットバンドル
__CAPGO_KEEP_0__のリモートバンドルバージョンと比較するには、チャンネルsemverルール、またはアップロード制約などを指定してください。 --native-version.
Pro: prevents sending JavaScript that needs newer native code to old app binaries.
Con: ルールが過度に厳密な場合、有効なアップデートがブロックされるまで、チャンネルまたはバンドルメタデータを調整する必要があります。
このテスターで使用するバージョンは、デバイスがローカルに報告するバージョンです。次に、Capgoが送信したいリモートバンドルバージョンと比較してください。
Capgoがセマンティックバージョニングを使用する理由
セマンティックバージョニング is the most widely adopted versioning standard in software development. By using semver, Capgo ensures compatibility and safety when delivering live updates to your Capacitor apps.
Capgoが配信するアップデートに含まれる変更を正確に理解できるようにするために、セマンティックバージョニング標準を使用しています。
- パッチアップデート (1.0.0 → 1.0.1): バグ修正、自動適用が安全
- マイナーアップデート (1.0.0 → 1.1.0): 新機能、バックワード互換性
- メジャーアップデート (1.0.0 → 2.0.0): 破壊的な変更、ネイティブアプリストアリリースが必要
これにより、Capgo はあなたのネイティブ code に不互換なアップデートを送ることがなくなるため、クラッシュを防ぎ、安定したアプリを保証する。
セマンティックバージョニングの柔軟な戦略: 基本的なバージョニングを超えて
セマンティックバージョニングは、コアフォーマットについて厳格ですが、チームのニーズに応じて拡張することができます。 プレリリース識別子 と ビルドメタデータ:
🏷️ ビルドメタデータ (+) - "外観」レイヤー
重要: バージョン順位付けではビルドメタデータは無視されます -
1.2.0+anything 等しい 1.2.0 Capgo の更新ロジックのために -
🔧 - 開発チャネル (-)
注意: プレリリース版は低優先度 -
1.3.0-beta.1 < 1.3.0
🎯 ハイブリッドアプローチ - 最良の両方の世界
実用的な Semver の使用例 & チーム戦略
🚀 スタートアップ / 速い開発
0.1.0 - 最初の MVP リリース0.2.0-beta.1 - 新機能テスト0.2.0+ui.v2 - UI リデザイン メタデータ1.0.0 - 生産用 Readiness0.x.x を使用して 1.0 未満の開発、デザイン追跡用のメタデータ
🏢 Enterprise / 調整済み
2.1.0 → 季度リリース2.1.1+sec.patch.cve2024 → セキュリティパッチと追跡2.2.0-rc.1+audit.ready → 検査前リリース候補厳格な semver と調整済みメタデータ
🎮 ゲーミング / クリエイティブ アプリ
1.0.0+season.winter.2024 → 季節のコンテンツ1.1.0+event.halloween → イベント駆動機能1.2.0+assets.hd.remaster → アセットの更新コンテンツのトラッキング用のクリエイティブ メタデータ
⚡ Hotfix ストラテジー
1.2.0 → 現在の生産1.2.1-hotfix.payment → 重大なバグ修正1.2.1+urgent.20240315.1430 → タイムスタンプ付きでリリーステスト用のプレリリース、展開の追跡用のメタデータ
🌍 多プラットフォーム ストラテジー
1.3.0+ios.optimized → iOS 用の最適化1.3.0+android.material3 → Android のデザインの更新1.3.0+web.pwa.ready → PWA の機能同じバージョン、プラットフォーム固有のメタデータ
🔄 CI/CD統合
1.4.0-alpha.1+build.123 → プレビューの自動化1.4.0+deploy.staging.456 → ステージングの自動展開1.4.0+prod.final.789 → 生産展開の自動化展開メタデータとバージョニングの自動化
- ビルドメタデータ (+) を使用して、トラッキング、タイムスタンプ、または互換性に影響しない外観情報を追跡する
- プレリリース識別子 (-) を使用して、異なる更新順序が必要な開発チャネル
- 両方を組み合わせて最大限の柔軟性を実現する:
1.2.0-beta.1+ui.dark.theme.20240315 - 重要な注意: Capgo はセマンティックバージョニングの順序規則を尊重するため、チャンネル戦略を計画する
重要な注意: Capgo は厳密なセマンティックバージョニングを使用する
有効なシーケンスバージョン
1.0.0 ✓ 標準リリース 2.1.3-alpha ✓ プリリリース 1.0.0-beta.1 ✓ プリリリースに数字が付いたもの 1.0.0+build.1 ✓ ビルドメタデータ 1.0.0-rc.1+build.1 ✓ 完全なバージョン __CAPGO_KEEP_0__ アップデートの動作
v1.0.0 ✗ 'v' で始まるバージョンは許可されません 1.0 ✗ パッチバージョンが欠落しています 1.0.0.0 ✗ バージョン部分が多すぎます 1.0.0- ✗ プレリリースが空です 1.0.0+ ✗ ビルドメタデータが空です Capgo Update Behavior
このツールは公式のものに従っています セマンティック バージョニング仕様 npmの実装とは異なります。