Rollbacks
GitHub
While Capgo’s live updates allow you to quickly deliver improvements and fixes to your users, there may be situations where you need to roll back to a previous version of your app. Perhaps a new update introduced an unexpected critical issue, or maybe you want to revert a specific change while you work on a fix.
Capgo provides several ways to manage a channel’s builds and control the version of your app that users receive, including both manual rollback options and automatic safety mechanisms.
自動ロールバック保護
セクション「自動ロールバック保護」Capgoには、更新が破損した場合にユーザーを保護するための組み込みの安全機構が含まれています。JavaScriptエラーが発生し、メソッドが呼び出される前に notifyAppReady() ロールバック方法
セクション「ロールバック方法」
自動ロールバックのしくみアップデートがダウンロードされ適用されたとき、Capgoはアプリが呼び出すことを期待します。 notifyAppReady() アプリの基本機能が正常に動作している
- 更新が安全に保持できる
- もし
- ロールバックが発生した場合、__CAPGO_KEEP_0__は、前の正常に動作していたバージョンに自動的に戻ります。
ロールバックのしくみ notifyAppReady() JavaScriptのクラッシュまたは重大なエラーが発生した場合、Capgoは呼び出されない。
- 更新が正しく初期化されていないことを検出します。
- 自動的に前の正常に動作するバンドルに戻ります。
- 問題のある更新を失敗としてマークして、再度適用されるのを防ぎます。
import { CapacitorUpdater } from '@capgo/capacitor-updater'
// Call this after your app has successfully initializedawait CapacitorUpdater.notifyAppReady()タイムアウトの設定
タイムアウトの設定
コピーCapgoの待機時間を設定することができます。 notifyAppReady() __CAPGO_KEEP_0__の設定で、 appReadyTimeout in your Capacitor configuration:
{ "plugins": { "CapacitorUpdater": { "appReadyTimeout": 10000 } }}の appReadyTimeout 値はミリ秒単位で指定されます。デフォルトのタイムアウトは通常10秒ですが、必要に応じてアプリの初期化要件に基づいて調整することができます。アプリの初期化プロセスが複雑で時間がかかる場合、値を増やすことを検討してください。
前のバンドルに戻す
セクションのタイトル:前のバンドルに戻すCapgoは、毎回新しいビルドをアップロードしてチャンネルに割り当てるときに、そのビルドの履歴を保存します。特定のアップデートを元に戻す必要がある場合、以前のビルドのいずれかを選択してチャンネルに再デプロイすることができます。

ロールバックの主な方法は、Capgo ダッシュボードでチャンネルを表示している際の4番目のタブ(履歴)にあるロールバックインターフェイスです。このタブでは、チャンネルに対して利用可能なすべてのビルドを一目で確認し、以前のバージョンに簡単に戻ることができます。
履歴タブを使用してロールバックするには:
-
ログインしてください。 Capgo ダッシュボード.
-
チャンネルセクションに移動してください。
-
チャンネル名をクリックしてください。
-
チャンネルビューの4番目のタブ(History)に移動してください。
-
ビルド履歴で、戻したいビルドを探してください。
-
戻したいビルドを選択して、チャンネルでそのビルドを有効にします。
-
このビルドに戻したいことを確認してください。
代替方法:クラウンアイコンを使用する
クラウンアイコンを使用する代替方法クラウンアイコンを使用する代替方法として、ビルド履歴のチャンネルビューの最初のタブで、任意のビルドの隣にあるクラウンアイコンをクリックして、直接戻すことができます。
- チャンネルビューの最初のタブで、戻したいビルドを探してください。
- クリックすると、指定されたビルドをチャンネルのアクティブなビルドに設定できます。

- 確認してください。指定されたビルドに戻りたいことを確認してください。
ロールバック後、更新されたチャンネルに接続されているデバイスは、更新を検索するたびに前のビルドを受信します。ロールバックされたビルドは、新しい更新として扱われます。通常の更新フローと条件が適用されます。
緊急ロールバックを加速する通知
セクション:「緊急ロールバックを加速する通知」チャンネルを再設定すると、デバイスが更新を検索する次の時点に効果を発揮します。Capgo 通知は、バックグラウンドで実行中のサポートされているアプリに静的な更新チェック通知を送信できます。アップデータ統合が有効になっている場合、アプリは更新モードに基づいてロールバックをチェック、ダウンロード、インストールできます。
これは加速パスであり、強制的なクラスタコマンドではありません。配信はベストエフォートであり、オペレーティングシステムのバックグラウンドスケジューリング、ネットワークの可用性、デバイスの状態に依存します。オフラインまたは強制終了したアプリを更新することはできず、すべてのデバイスに到達する時間を保証することはできません。
このパスを設定するには、 通知: 静的アップデートチェックを有効にする.
チャンネルを解除する
「チャンネルを解除する」のセクションチャンネルを解除することで、問題を調査するために一時的にアップデートを停止したい場合は、チャンネルを現在のビルドから解除できます。
チャンネルを解除するには:
-
チャンネルを Capgo ダッシュボードに移動してください。
-
現在のビルドの横の「解除」ボタンをクリックしてください。
-
チャンネルを解除することを確認してください。
チャンネルが解除された後、チャンネルは新しいアップデートを配布しません。チャンネルに設定されているデバイスは、チャンネルがビルドにリンクされるまで、現在のビルドに留まります。
問題が発生したアップデートを特定した後でも、どのビルドに戻したいのかがわからない場合は、チャンネルを解除することが便利です。チャンネルを解除することで、問題を調査する時間を稼ぎます。
ビルトインパッケージを強制する
「ビルトインパッケージを強制する」のセクションより重篤な状況では、チャンネル内のすべてのデバイスを元のアプリのネイティブバイナリと組み込まれたウェブビルドに戻したい場合があります。これは「組み込まれたバンドル」と呼ばれます。
組み込まれたバンドルを強制するには:
-
Capgo ダッシュボードに移動して、チャンネルを選択します。
-
「組み込まれたバンドル」ボタンをクリックします。
-
組み込まれたバンドルを強制するには、確認します。
組み込まれたバンドルを強制すると、チャンネルに設定されているすべてのデバイスは、更新チェックの次回以降、元のパッケージされたウェブビルドに戻されます。これは、現在のビルドに関係なく、どのビルドでも発生します。
このオプションは、特定の前のビルドに戻ることよりも、より強力なロールバックオプションです。アプリが最後にアプリストアに公開されたときから、現在までにリリースされたすべてのライブアップデートを破棄します。
問題の監視と対応
問題の監視と対応問題発生を迅速に検出し、問題のある更新の影響を最小限に抑えるには、リリースの監視と問題に対する対応の計画が必要です。
いくつかの戦略があります。
コホートに制限されたロールアウトの場合、進化的ロールアウトを使用します。 進化的ロールアウト コホートに制限されたロールアウトの場合、安定バンドルの変更前に、または問題の解決のために、対象をクリアすることができます。
- 更新のリリース後すぐにクラッシュレポートとユーザーフィードバックを監視する
- フェーズドロールアウトまたはステージドチャンネルシステムを使用して、更新を小規模なグループでテストし、広範なリリース前にテストする
- ロールバック、アンリンク、またはビルトインバンドルの強制の決定プロセスが明確で、誰がそれを行う権限があるかを決定する
- ユーザーに問題と解決策について説明する
監視と問題のある更新を迅速に管理する能力を組み合わせると、ユーザーに影響を与えることなく、継続的に改善されるアプリの体験を提供できます。
続きます:ロールバック
「続きます:ロールバック」Capgoを使用している場合 ロールバック ロールバックとバージョン管理を計画するには、Version Targetingと接続してください バージョン目標 バージョン目標の実装詳細については 更新動作 更新動作の実装詳細については バンドル バンドルの実装詳細については Capgo Live Updates for Capgo Live Updates の製品ワークフローにおいて、 Rollback Strategies for Capacitor Live Updates Capacitor Live Updatesの実用的なコンテキストにおけるロールバック戦略のための。