あなたが質問したことに感謝します。
私は法律のアドバイスを与えません。実際にチームが安全にCapacitorアプリを配信するために広く使用されていることを共有しています。
重要な区別は次のとおりです。
- ネイティブの提出 新しいネイティブの動作と主要な機能のために、まだネイティブの提出が必要です。
- ライブの更新 JavaScript/Webの修正と調整があなたの既存のアプリの範囲内で使用できる
両方のiOSとAndroidはこのモデルを使用できますが、ポリーサフワークフローとして扱う必要があります。 簡単に言うとAppleとGoogleは許可するものは次のとおりです。あなたはAppleとGoogleを似た境界として扱うことができます。
ライブの更新はネイティブの機能や新しい機能には使用できません。
両方のiOSとAndroidはこのモデルを使用できますが、ポリーサフワークフローとして扱う必要があります。
- You can deliver code interpreted by the embedded web layer (HTML/CSS/JS) without resubmitting.
- 主な機能の追加はアプリの目的を変更するため、使用しないでください。
- セキュリティや配布の制御を変更することは、JSのみでは危険です。
AppleのWebKit/JavaScriptの更新に関する公式ガイドがこのモデルのはたらきの中心です。Googleは通常、ウェブベースの更新に制限が少ないですが、同じ原則が適用されます: nativeな変更はnativeなリリースに含めます。
What Capgo is good for
Capgo is for:
- ウェブのバグの修正
- 安全なUIのコピー/スタイル/フローの修正
- 既存のページの論理的な修正
- 内部のQA用に高速な実験
Capgo is not for:
- 新しいネイティブ機能や権限の追加
- 新しいコア機能の配信をレビューするようにする
- 署名、暗号化、パッケージのアイデンティティの動作を変更する
推奨されるリリース戦略
2つのトラックで考える
トラック1:ネイティブトラック(ストアレビュー)
次のCapacitorリリースプロセスを使用する
- 新しいプラグインの更新
- アプリシェルまたはマニフェストの変更
- パーミッションの更新
- プラットフォーム固有の機能の変更
これらは必要です
bun run build
bunx cap sync
# then App Store / Google Play submission flow
トラック2:JSトラック(Capgo)
安全で小さなランタイム変更のために:
bun run build
bunx @capgo/cli deploy --channel staging
bunx @capgo/cli deploy --channel production
この方法は、バイナリを安定させながら、迅速な反復を実現します。
「ネイティブのリリースが必要だったのに…」を避ける方法
Capgoのロールアウト前に、以下のチェックを実行してください:
- 新しいネイティブ依存関係または許可が必要ですか?
- アプリの宣伝された機能が変更されますか?
- 認証/セキュリティの境界が変わりますか?
- JavaScriptの修正として説明できますか?
(1)~(3)の質問に「はい」が返った場合、ネイティブのリリースを提出してください。 (4)に「はい」が返った場合、Capgoを送信してください。
コンプライアンスチームにとっての意味
- 意味のある変更に対してアプリレビューのバンド幅を確保します。
- ロールバックの制御と迅速なパッチングを維持します。
- 生産リスクを軽減するには、更新をチャネルでテストすることでフルロールアウト前にテストする必要があります。
このアプローチは、生産環境で大規模なCapacitorプログラムで使用されているものと同じです: JSのみの修正用の高速更新、実際のバイナリ用のネイティブレビューのみです。
より深く知りたい場合は、このアプローチをチャネルに基づく厳格な環境戦略と組み合わせて、QAが生産ミスを受け取らないようにすることです。 それはCapgo-ネイティブの方法で、ステージング、ベータ、生産をクリーンに保つことです。
「Capacitor JS アプリを更新する方法」を参照して、再度ストアのレビューを繰り返さないようにしてください。
「__CAPGO_KEEP_0__ JS アプリを更新する方法」を使用して、ストアの承認と配布を計画する場合は、@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-in-app-reviewに接続してください。 「Capacitor/__CAPGO_KEEP_1__-in-app-review」の実装詳細については、@Capacitor/__CAPGO_KEEP_1__-in-app-reviewを参照してください。 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-in-app-reviewを使用して、ネイティブ機能を実装する場合は、@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-in-app-reviewを参照してください。 「@capgo/capacitor-in-app-review」を使用して、ネイティブ機能を実装する場合は、@capgo/capacitor-in-app-reviewを参照してください。 「@capgo/capacitor-native-market」を参照してください。 @capgo/capacitor-native-marketを使用してください。 @capgo/capacitor-native-marketを使用してください。 @capgo/capacitor-native-marketを使用してください。 実装詳細については @capgo/capacitor-native-market に 使用する @capgo/capacitor-native-market 使用する @capgo/capacitor-native-market により、 Capacitor OTA Updates: App Store Approval Guide Capacitor OTA Updates: App Store Approval Guide の実用的な背景