__CAPGO_KEEP_0__ | __CAPGO_KEEP_5__ - __CAPGO_KEEP_6__
直接アップデート

秒単位でバグを修正せずに週単位で

アプリのバグは、App Storeのレビューが遅延している間、修正されずに残ってはならない。直接アップデートにより、ユーザーの次のアプリ起動時に即座に修正が適用される。

直接アップデート

即時適用
古いセッションなし
sub秒の更新時間

問題

重要な修正のためのバックグラウンドアップデートは遅すぎる

バックグラウンドアップデートの問題

1

ユーザーがアプリを起動し、バグが発生します。

ユーザーはバグのあるバージョンを表示し、更新が利用可能です。バックグラウンドダウンロードが静かに開始されます。

2

ユーザーがバグを経験します。

ユーザーは修正されたバグを経験し、不満が高まります。1つ星のレビューを残すかもしれません。

3

更新が次の起動時に適用されます。

修正が完了したのに、ユーザーはバグを経験する必要がありました。重要な問題では、これは受け入れられません。

バックグラウンド更新では、ユーザーは修正されたバグを少なくとも一度経験することになります。重要な問題では、これは多すぎます。

重要なセッションでは、すべてのセッションが失われることは許せません。

決済フローが破綻しています。

ユーザーは購入を完了できません。修正されていないセッションはすべての収益を失います。

セキュリティの脆弱性が発見されました。ユーザーは __CAPGO_KEEP_0__ を一度も実行してはなりません。

A security flaw was discovered. Users shouldn't run the vulnerable code even once.

法的期限

新規則は真夜中から有効になります。すべてのユーザーはすぐに更新された条件を確認する必要があります。

ソリューション

ソリューション

Direct Updates check for and apply updates when users open your app - before they see anything. The experience is seamless, and every session runs your latest code.

ソリューション

1
ソリューション
2
ソリューション
3
ソリューション
4
ソリューション

ソリューション

バックグラウンドモード (デフォルト)

1
ユーザーがアプリを開く
2
即時ダウンロード (~500ms)
3
アプリが最新バージョンでレンダリングされる

ユーザーは常に最新の code. 0 の例外、0 の古いセッション

capacitor.config.ts
// Enable Direct Updates - one config change
CapacitorUpdater: {
  autoUpdate: 'always', // Updates apply immediately on app open
}

// That's it. When users open your app:
// 1. Capgo checks for updates (~50ms)
// 2. If available, downloads immediately (~200-500ms)
// 3. Applies before your app renders
// Users always see the latest version. Zero exceptions.

現実世界の影響

クイックカートが1晩で支払い失敗を排除した

クイックカート

E-コマース - フラッシュセールアプリ

クイックカートはフラッシュセールを100,000+の同時ユーザーで実行します。ペークイベントの際に、支払いゲートウェイの更新がチェックアウトフローを破壊したときに、ユーザーは既にアプリを開いていた場合にバグを経験しました。

エンジニアリングチームは23分で修正をプッシュしました。ただし、バックグラウンド更新の場合、23分間の間にアプリを開いた40,000以上のユーザーが現在のセッションでバグに当たることになります。平均注文金額は47ドルで、$1.8百万のリスク収益が生じました。

Direct Updatesに切り替えた後、次のインシデントは0の影響を受けた取引で解決されました。修正は18分でデプロイされ、ユーザーがその時点以降アプリを開いた場合に直ちに修正されたバージョンを取得しました。CFOはすべての顧客向け支払いフローでDirect Updatesを要求しています。

結果

100%展開までの時間 0分
修正後影響を受けたトランザクション 0
インシデント当時保護された収益 1,800万ドル以上
顧客サポートチケット -97%

"Background updates are fine for feature releases. But for anything touching payments, authentication, or compliance? Direct Updates are non-negotiable."

— David Park, VP of Engineering at QuickCart

Direct Updatesの利点

バックグラウンド更新では機能リリースに問題ありません。 しかし、支払い、認証、または法的要件に関わるものは、Direct Updatesは交渉の余地がありません。

— David Park、QuickCartのエンジニアリングVP

すべてのユーザーがアップデート後にアプリを開くと、すぐに最新バージョンが取得されます。例外はありません。バグの「1回だけのセッション」もありません。すべてのセッションで最新のcodeが実行されます。

  • 100%のセッションで最新のcodeが実行されます - 95%、99%ではありません、100%です
  • 重要なバグ修正はユーザーがバグを経験する前に到達します
  • すべてのデバイスで法的要件の更新が即時効果を発揮します

100%

セッションのcodeの最新版

即時バグ解決

修正をプッシュすると、実際に修正されます。ユーザーはバグを「1回だけ」経験しないように、次のリリースを待つ必要がありません。ユーザーがアプリを開いたときに、修正されたバージョンが取得されます。

  • サポートチケットの「そのバグを1度だけ」がなくなります
  • 監視は即時的な改善を示します、ではなく、段階的なロールアウト曲線
  • デプロイ後にオンコールエンジニアはすぐに寝ることができます

0

修正をデプロイした後、バグの経験

最適化されたユーザー導入

新規ユーザーがアプリを初めてダウンロードするときは、常に最高の導入フローを受け取ります。 A/Bテストを行い、勝者を発見した後、すべての新規ユーザーがそれを即座に受け取ることができます - 背景のダウンロードサイクル後ではなく。

  • 新規ユーザーはいつも古い導入フローを見ることはありません
  • A/Bテストの勝者は即座に100%の新規ユーザーに展開されます
  • 最初の印象は常に現在の最良の経験です

+34%

初日からの改善

Direct Updatesの使用時期

Direct Updatesは、即時の一致性が不可欠なシナリオでは、不可視の更新よりも優先される場合に適しています。

緊急のバグ修正

支払い失敗、認証問題、データの破損 - これらのバグでは、1度経験しただけで十分です。

新規ユーザーの導入

最初の印象は重要です。新規ユーザー全員が最初のセッションから最適化された最高の導入体験を受け取るようにしましょう。

イベントベースの機能

特定時間に結びついた機能 - 休日セール、製品リリース、ライブイベント。イベントが始まる時点でリアルタイムで実行する必要がある。

セキュリティパッチ

脆弱性が発見された場合、ユーザーは脆弱性のある code を一度も実行しないでください。

A/Bテストロールアウト

勝ち組のバリアントが見つかった場合、徐々にバックグラウンドでアップデートを待たずに、100%のユーザーに即座に配信することができます。

法的要件のアップデート

新しい規制、更新された条項、必要な開示。法的期限はバックグラウンドダウンロードを待たずに待ちます。

高速化

直接アップデートは、速い場合にのみ実行可能です。私たちのグローバルインフラストラクチャは、更新が1秒未満で適用されるように設計されています。

更新チェック時間

500ms未満

<50ms

通常のバンドルダウンロード

1秒未満

アプリレンダリングまでの合計時間

99.9%

インフラストラクチャの稼働率

Capacitorで作られたアプリ

公開情報アプリには、内容の修正が急務です

緊急、健康、市民アプリは、チェックリスト、リソースリンク、場所固有の通知が壊れた場合に、数日間待つことができません。直接更新を使用すると、Web層は修正が承認されたときに動き出すことができます。

アプリタイプ
直接更新
ストアカテゴリ
気象、医療、社会
ソース
パブリックストアデータセット
FEMAアプリアイコン

気象情報

FEMA

緊急時には小さなコンテンツのミスが急務になる

ページ/エリア: 解決策ページのアプリ例セクション。役割: サポートする注釈や脚注。メッセージキー `solution_app_examples_direct_updates_app_1_note` (解決策アプリ例ダイレクトアップデートアプリ1注) 1.6M インストール
ページ/エリア: 解決策ページのアプリ例セクション。役割: 短いUIラベルまたはナビゲーションアイテム。見られる場所: コンポーネント solutions/SolutionAppExample.astro。メッセージキー `solution_app_examples_installs` (解決策アプリ例インストール)
4.0 評価

ページ/エリア: 解決策ページのアプリ例セクション。役割: 短いUIラベルまたはナビゲーションアイテム。見られる場所: コンポーネント solutions/SolutionAppExample.astro。メッセージキー `solution_app_examples_rating` (解決策アプリ例評価)

Google Play リストを表示

ページ/エリア: 解決策ページのアプリ例セクション。役割: 短いUIラベルまたはナビゲーションアイテム。見られる場所: コンポーネント solutions/SolutionAppExample.astro。メッセージキー `solution_app_examples_view_listing` (解決策アプリ例リスト表示)

Conecte SUS アプリアイコン ページ/エリア: 解決策ページのアプリ例セクション。役割: 画像の代替テキスト。見られる場所: コンポーネント solutions/SolutionAppExample.astro。メッセージキー `solution_app_examples_icon_alt` (解決策アプリ例アイコン代替テキスト)。
Google Play リストを表示
e-Título アプリ アイコン

社会

e-Título

デバイス間でバージョン安全なガイダンスが必要な市民身分証明書ワークフロー

54.9M インストール 4.8 評価
Google Play リストを表示

ユーザーが修正されたバグを経験しないようにする

毎回のセッションで修正を実行するようにする。直接アップデートはその実現を可能にする。

マーティンから人間のサポートを受ける

1 つの構成変更。 Sub-秒の更新。古いセッションはゼロ。