FEMA
軽微なコンテンツの誤りが緊急事態につながるような、緊急ガイダンスの提供。
- Google Play インストール数
- 160万
- ストア評価
- 4.0
通常、live update はダウンロード後に1セッション実行されます。Direct update モードでは、代わりに起動時にスプラッシュ画面の裏側で適用されるため、ユーザーが最初に目にする画面がすでに最新バージョンになります。
課題
ユーザーがアプリを起動
アプリは既存のbundleで起動します。updaterは新しいbundleを確認し、バックグラウンドでダウンロードします。
現在のセッションは現行バージョンで動作
そのセッションの残りの間、ユーザーは修正前にインストールされた code を使い続けます。
次回の復帰時にアップデートを適用
ユーザーがアプリを終了すると、updaterが新しいbundleをインストールします。次回アプリを開いたときに反映されます。
ほとんどのリリースでは、これが適切なトレードオフです。upload後に開始するセッションで新しい code を実行する必要がある場合は、direct updateモードを使用してください。
修正が適用される前に、アプリを開いたユーザーがもう一度不具合のある画面を目にすることは避けるべきです。
修正済みJavaScriptを、次のセッションではなく起動時から実行したい。
ユーザーが最初に目にする画面で、最新である必要がある規約、通知、またはイベントコンテンツ。
ソリューション
起動時にアップデーターが確認し、その間スプラッシュ画面は表示されたままです。新しいbundleがあれば、スプラッシュ画面が消える前にダウンロードして適用します。
起動時の待ち時間なし。ユーザーは1セッション後にアップデートを目にします。
ユーザーは最初の画面で新バージョンを目にします。ダウンロード中はスプラッシュ画面で待機します。
仕組み
Directモードはネイティブ設定なので、最初はストアビルドで配信します。その後は、すべての live update がこの設定に従います。コマンドは Capgo のドキュメントに記載されています。
@capacitor/splash-screen をインストールし、capacitor.config.ts で autoUpdate、autoSplashscreen、launchAutoHide を設定します。
npm install @capacitor/splash-screen
npx cap sync
// capacitor.config.ts
plugins: {
CapacitorUpdater: {
autoUpdate: 'onLaunch', // or 'atInstall' / 'always'
autoSplashscreen: true,
keepUrlPathAfterReload: true,
},
SplashScreen: { launchAutoHide: false },
} スプラッシュ画面の制御 capacitor.config はネイティブアプリにコンパイルされるため、新しいモードは次回のストアリリースでユーザーに届きます。Capgo Build ならクラウドでビルドできます。
npx @capgo/cli@latest build request --platform ios
npx @capgo/cli@latest build request --platform android Capgo Buildドキュメント 起動時にユーザーはダウンロードを待つため、変更されたファイルだけを送信します。CLI が即時適用モードを検知し、差分アップロードを促します。
npx @capgo/cli@latest bundle upload --channel production --delta 差分アップデートのドキュメント アプリが起動したら notifyAppReady() を呼び出します。新しいbundleの起動に失敗した場合、デバイスは最後に正常に動作したbundleに戻ります。
import { CapacitorUpdater } from '@capgo/capacitor-updater'
await CapacitorUpdater.notifyAppReady() notifyAppReady() のドキュメント Direct updatesはトレードオフです。起動時に少し待つ代わりに、最初の画面で新しいバージョンを使えます。
capacitor.config.ts で autoUpdate を設定します。各モードは、ユーザーを待たせている間にアップデートをいつ適用できるかを決めます。
3
autoUpdateにおける即時適用モード
Directモードでは、launchAutoHideをfalse、autoSplashscreenをtrueに設定した@capacitor/splash-screenが必要です。アップデートが適用された時点、またはアップデートが不要と判断された時点で、アップデーターがスプラッシュ画面を非表示にします。
autoSplashscreen
すべてのDirectモードで必須
ユーザーは起動時にダウンロードを待ち、always なら使用中にアプリをリロードして更新できます。両方に備えましょう。
--delta
すべての direct update の upload で推奨されます
現在のセッションで新しい code を実行する必要がある場合は direct モードを使用してください。それ以外はデフォルトのままにしてください。
決済、ログイン、データのバグなど、古い code をあと1セッション動かすのが許容できないケース。
atInstallは、新規インストールやストア更新の直後に最新のbundleを適用するので、新規ユーザーは現在のonboardingで開始できます。
ユーザーがアプリを開いた時点で最新である必要があるイベントページ、お知らせ、利用規約。
起動時から適用されるべきWebレイヤーのセキュリティ修正。native code の修正には引き続きストアリリースが必要です。
スタイルの微調整や小さな機能追加は、起動時に待たせるほどではありません。デフォルトモードでは、1セッション後に適用されます。
alwaysモードでは、定期的なチェック(デフォルトは10分ごと)により、アプリを開いたままアップデートを適用できます。これに頼る前に状態を保存してください。
起動時の待ち時間は、アップデートのチェックとダウンロードの合計です。Delta updatesなら、ダウンロードは変更されたファイルだけに抑えられます。
一般的な API レイテンシ
変更されたファイルのみをダウンロード
月間アップデート配信数
チームのニーズに合ったソリューションを見つける
Capacitor で構築されたアプリ
緊急対応、医療、公共サービスなどのアプリでは、チェックリストの誤りやリンク切れ、地域別のお知らせの修正に数日もかけることはできません。Direct updates を使えば、修正が承認され次第、即座にウェブレイヤーを更新できます。
軽微なコンテンツの誤りが緊急事態につながるような、緊急ガイダンスの提供。
承認済みのコピー変更を迅速に配信する必要がある、健康記録やガイダンス画面。
デバイスをまたいでバージョンに応じた安全なガイダンスが求められる市民IDワークフロー。
NuTriQ 創業者
「本番環境のOTAアップデートを、App Storeの審査サイクル全体を待たずに即座に配信できることは、運用面で非常に大きな強みです。」
リードデベロッパー、drivolino GmbH
“Capgo Capacitor Updater pluginのおかげで、アップデートの配信方法が完全に変わりました。以前は何日もかかっていた作業が、今ではわずか数分で終わります。”
お金を払う者が、支配する。
「Capgo を使い始めてからすべてが速くなり、日常生活をおろそかにせずに、ユーザーに本来かけるべき時間を割けるようになりました。」
よくある質問
利用タイミング、セットアップ方法、リリース時のコストを解説します。
ほとんどのリリースではデフォルトを推奨します。起動時の待ち時間がなく、ユーザーは次のセッションでアップデートを受け取れます。一方、アップロード後のセッションで必ず新しいcodeを実行する必要がある場合(例:決済フローの不具合やWebレイヤーのセキュリティ修正)は、Directモードを使用してください。
アップデート動作のドキュメントatInstallは、ネイティブアプリの新規インストールまたはストア経由のアップデート直後にのみ即時適用され、その後はデフォルトと同じ動作になります。onLaunchは、アプリが終了状態から起動したときに即時適用されます。alwaysは、フォアグラウンドに移行するたびにチェックし、ユーザーがアプリを使用中でもダウンロード完了後すぐに適用します。
アップデーター設定Directモードは、ユーザーが待機している間にアップデートを適用します。@capacitor/splash-screen、autoSplashscreen: true、launchAutoHide: false を設定しないと、リロード前に画面のちらつきや古いUIが見えることがあります。これらを設定すると、アップデートが適用されるか、アップデート不要と判断されるまでスプラッシュ画面が表示され続けます。
スプラッシュ画面の制御いいえ。autoUpdate は capacitor.config にあり、ビルド時にネイティブアプリへ読み込まれます。新しい設定はストアリリースに含めてください。その後は、すべての live update が新しいモードに従います。
ネイティブ互換性ドキュメントdirectUpdateは非推奨ですが、引き続き検出されます。その値はautoUpdateのatInstall、onLaunch、alwaysモードに対応しています。次回のネイティブリリースで設定をautoUpdateに移してください。
アップデーター設定トライアル期間中にテストビルドでdirect updateモードを試し、自分のアプリで起動時の待ち時間を測ってみましょう。
Capgoのdirect updatesを試そう:スプラッシュ画面の裏で、起動時にライブアップデートが適用されます。
Martinによる人的サポート
14日間無制限の無料トライアル。クレジットカード不要 14日間の返金保証。いつでも解約可能。
14日間の無料トライアル。クレジットカード登録不要。