メインコンテンツへスキップ
チュートリアル

ストア審査を繰り返さずにCapacitor JSアプリをアップデートする方法

小さな修正のたびにアプリの再審査を受けることなく、iOSとAndroid向けにCapacitor JavaScriptアップデートを配信するための、ポリシーを遵守した実践的なプレイブック。

Capacitor JSアプリを、ストアの再審査なしでアップデートする方法 Capgo ブログ用イラスト

良い質問ですね。

これは法的アドバイスではありません。Capacitor アプリを安全にリリースしているチームの間で、実際に使われている実践的な手法を紹介します。

重要な違いは以下の通りです:

  • Native Buildの申請 新しいネイティブ機能や主要な機能の追加には、依然として必要です。
  • Live Updates 既存のアプリの範囲内での、JavaScript/Webの修正や調整を目的としています。

iOSとAndroidの両方でこのモデルを利用できますが、これは ポリシーに準拠したワークフローとして扱う必要があり、回避策(ループホール)ではありません。

AppleとGoogleが許可していること(簡潔なまとめ)

AppleとGoogleの境界線は、ほぼ同様と考えて差し支えありません:

  1. アプリを再提出することなく、組み込みのWebレイヤー(HTML/CSS/JS)で解釈される code を配信できます。
  2. アプリの目的を変更するような大幅な機能追加に、そのチャネルを使用してはいけません。
  3. 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 のロールアウト前に、このクイックチェックを実行してください:

  1. 新しいネイティブ依存関係や権限が必要ですか?
  2. アプリが公開している機能に変更はありますか?
  3. 認証やセキュリティの境界を変更しますか?
  4. 「非破壊的な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 の実践的な文脈については。

Capacitor アプリ向けの Live Updates

Web レイヤーのバグが本番で発生したら、App Store の審査を何日も待たずに Capgo で修正を配信しましょう。ネイティブの変更は通常の審査フローに残したまま、ユーザーはバックグラウンドでアップデートを受け取れます。

最新のブログ記事

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