良い質問ですね。
これは法的アドバイスではありません。Capacitor アプリを安全にリリースしているチームの間で、実際に使われている実践的な手法を紹介します。
重要な違いは以下の通りです:
- Native Buildの申請 新しいネイティブ機能や主要な機能の追加には、依然として必要です。
- Live Updates 既存のアプリの範囲内での、JavaScript/Webの修正や調整を目的としています。
iOSとAndroidの両方でこのモデルを利用できますが、これは ポリシーに準拠したワークフローとして扱う必要があり、回避策(ループホール)ではありません。
AppleとGoogleが許可していること(簡潔なまとめ)
AppleとGoogleの境界線は、ほぼ同様と考えて差し支えありません:
- アプリを再提出することなく、組み込みのWebレイヤー(HTML/CSS/JS)で解釈される code を配信できます。
- アプリの目的を変更するような大幅な機能追加に、そのチャネルを使用してはいけません。
- JSのみを使用して、重要なセキュリティや配信コントロールを変更してはいけません。
WebKit/JavaScriptのアップデートに関するAppleの公式ガイダンスが、このモデルの核心です。Googleは通常、Webベースのアップデートに対してより寛容ですが、原則は同じです。ネイティブな変更はネイティブリリースで行ってください。
Capgo の活用シーン
Capgo の用途:
- Web関連のバグ修正(hotfix)
- UIの文言・スタイル・フローの安全な修正
- 既存ページにおける軽微なロジック修正
- 社内QA向けの迅速な検証
Capgo の対象外:
- 権限の追加や新しいネイティブ機能の実装
- 審査が必要となる主要な新機能のリリース
- 署名、暗号化、パッケージ識別子の変更
推奨されるリリース戦略
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に本番のミスが届かないようにしましょう。それが、staging、beta、productionをクリーンに保つ Capgo ならではのやり方です。
「ストアレビューを繰り返さずに Capacitor のJSアプリをアップデートする方法」の続きはこちら
使用している場合 ストア審査を繰り返さずにCapacitor JSアプリをアップデートする方法 ストアの承認と配信を計画するには、これを次と連携させてください: @capgo/capacitor-in-app-review @capgo/capacitor-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 の使用におけるネイティブ機能については、および Capacitor OTAアップデート: App Store審査ガイド Capacitor OTA Updates: App Store Approval Guide の実践的な文脈については。