コンテンツにジャンプ

ページのコピー設定

Capgoのライブアップデートは、ユーザーに迅速に改善と修正を提供できるようにしますが、特定のシナリオでは、以前のアプリのバージョンに戻す必要がある場合があります。新しいアップデートが予想外の重大な問題を引き起こしたり、特定の変更を修正するために時間がかかる場合などです。

Capgoは、チャンネルのビルドを管理し、アプリのバージョンをユーザーが受け取るように制御するためのさまざまな方法を提供します。これには、手動のロールバックオプションと自動的な安全機構も含まれます。

Capgo includes a built-in safety mechanism to protect your users from broken updates. If a JavaScript error occurs before the notifyAppReady() __CAPGO_KEEP_0__には、ユーザーを破損したアップデートから保護するための組み込みの安全機構が含まれます。JavaScriptエラーがメソッドが呼び出される前に発生した場合、プラグインは自動的に前の正常なバージョンに戻ります。

自動ロールバックのしくみ

「自動ロールバックのしくみ」

新しいアップデートがダウンロードされ、適用されたとき、Capgo はあなたのアプリがアップデートが正常にロードされたことを確認するために呼び出すことを期待します。 notifyAppReady() このメソッドは、次のことを示します。

  • JavaScript バンドルが重大なエラーなしでロードされた
  • あなたのアプリの基本的な機能が正常に動作している
  • アップデートが安全に保持できる

もし notifyAppReady() Capgo が呼び出されなかった場合、JavaScript のクラッシュや重大なエラーのため、Capgo は

  1. アップデートが正常に初期化されなかったことを検出する
  2. 自動的に前の正常に動作していたバンドルに戻る
  3. 問題のあるアップデートを失敗としてマークして再度適用されるのを防ぐ
import { CapacitorUpdater } from '@capgo/capacitor-updater'
// Call this after your app has successfully initialized
await CapacitorUpdater.notifyAppReady()

コピー

You can configure how long Capgo waits for notifyAppReady() タイムアウトの設定 appReadyTimeout Capacitor が

{
"plugins": {
"CapacitorUpdater": {
"appReadyTimeout": 10000
}
}
}

The appReadyTimeout 値はミリ秒単位で指定されます。デフォルトのタイムアウトは通常10秒ですが、必要に応じてアプリの初期化要件に基づいて調整することができます。アプリの初期化プロセスが複雑で時間がかかる場合、値を増やすと良いでしょう。

Capgoでは、毎回新しいビルドをアップロードしてチャンネルに割り当てると、ビルドの履歴を保存します。特定のアップデートを元に戻す必要がある場合、以前のビルドのいずれかを選択してチャンネルに再デプロイできます。

ロールバックUI

ロールバックの主な方法は、Capgo ダッシュボードのチャンネルを表示し、4番目のタブ(履歴)で利用できるロールバックインターフェイスです。このタブでは、チャンネルに利用可能なすべてのビルドを一目で確認し、以前のバージョンに簡単に戻ることができます。

ロールバックをHistoryタブで行うには:

  1. __CAPGO_KEEP_0__ ダッシュボードにログイン Capgo Dashboard.

  2. チャンネル名をクリック

  3. __CAPGO_KEEP_0__ ダッシュボード

  4. チャンネルビューの4番目のタブ(History)に移動してください。

  5. ビルド履歴で、戻したいビルドを探してください。

  6. そのビルドを選択して、チャンネルのアクティブビルドに設定してください。

  7. このビルドに戻したいことを確認してください。

代替方法:クラウンアイコンを使用

クラウンアイコンを使用する代替方法

2番目の方法として、チャンネルのビルド履歴の任意のビルドの隣にあるクラウンアイコンをクリックして、直接戻すこともできます。

  1. チャンネルビューの1番目のタブで、戻したいビルドを探してください。
  2. そのビルドの隣にあるクラウンアイコンをクリックして、チャンネルのアクティブビルドに設定してください。 チャンネル管理オプション
  3. このビルドに戻したいことを確認してください。

ロールバック後、更新されたチャンネルに接続されているデバイスは、更新を確認する度に前のビルドを受信します。ロールバックされたビルドは、新しい更新として扱われ、通常の更新フローと条件が適用されます。

緊急ロールバックを加速する通知

「緊急ロールバックを加速する通知」

通常、チャンネルを変更するには、デバイスが更新を確認する度に効果が生じます。Capgo 通知は、バックグラウンドで実行中のサポートされているアプリに静的な更新確認通知を送信できます。アップデータ統合が有効になっている場合、アプリは更新モードに基づいて更新を確認、ダウンロード、インストールできます。

これは加速パスであり、強制的なフリートコマンドではありません。配信はベストエフォートであり、オペレーティングシステムのバックグラウンドスケジューリング、ネットワークの可用性、デバイスの状態に依存します。オフラインまたは強制終了されたアプリを更新することはできず、すべてのデバイスに一定時間で到達することを保証することはできません。

このパスを設定するには、次の手順に従ってください。 通知: 静的な更新確認を有効にします。.

チャンネルを解除する

チャンネルを解除する

問題を調査するために一時的に更新を停止したい場合は、チャンネルを現在のビルドから解除できます。

チャンネルをアンリンクするには:

  1. チャンネルを Capgo ダッシュボードに移動してください。

  2. 現在のビルドの横にある「アンリンク」ボタンをクリックしてください。

  3. チャンネルをアンリンクすることを確認してください。

チャンネルがアンリンクされると、デバイスは新しいアップデートを受信しなくなります。チャンネルが再びビルドにリンクされるまで、デバイスは現在のビルドに留まります。

この機能は、問題が発生したアップデートを特定するのに役立ちますが、まだどのビルドに戻したいのかわからない場合に便利です。チャンネルをアンリンクすると、問題を調査する時間を稼ぎながら、さらにアップデートを送信しないようにできます。

Built-In Bundleを強制する

Built-In Bundleを強制する

より深刻な状況では、すべてのデバイスを、元のネイティブバイナリと組み込まれたWebビルドに戻したい場合があります。これは「Built-In Bundle」と呼ばれます。

チャンネルにBuilt-In Bundleを強制するには:

  1. チャンネルを Capgo ダッシュボードに移動してください。

  2. 「Built-In Bundle」ボタンをクリックしてください。

  3. __CAPGO_KEEP_0__を強制するには、確認してください。

チャンネルに設定されているすべてのデバイスは、次の更新チェックで元のパッケージされたWebビルドに戻ります。これは、現在のビルドに関係なく、どのビルドでも発生します。

このオプションは、特定の前のビルドに戻るよりも、より強力なロールバックオプションです。アプリが最後にアプリストアに公開されたときから、すべてのライブアップデートを破棄します。

問題の発生を早期に検出し、問題のあるアップデートの影響を最小限に抑えるために、リリースを監視し、問題に応じて対応する計画を立てることが重要です。

いくつかの戦略があります。

コホートに制限されたロールアウトの場合、使用します。

進化的ロールアウト

__CAPGO_KEEP_0__は強制する必要があります。 __CAPGO_KEEP_0__を強制すると、すべてのデバイスが元のパッケージされたWebビルドに戻ります。 アップデートの公開前に、エクスポージャーを一時停止またはターゲットをクリアすることができます。

  • アップデートのリリース後すぐにクラッシュレポートやユーザーフィードを監視する
  • アップデートをテストするために、フェーズドロールアウトまたはステージドチャンネルシステムを使用する
  • ロールバック、アンリンク、またはビルトインバンドルを強制するための明確な決定プロセスを持ち、誰がそれを行う権限があるかを決定する
  • 問題と解決策についてユーザーに伝える

問題のあるアップデートを迅速に管理する能力と、注意深く監視することで、ユーザーに最小限の影響を与えながら、継続的に改善されるアプリのエクスペリエンスを提供できます。

ロールバックから続ける

ロールバックから続ける

Capgoを使用している場合 ロールバック バージョン管理とロールバックを計画するために、Capgoを使用して バージョン目標設定 バージョン対象の実装詳細については 更新動作 更新動作の実装詳細については バンドル バンドルの実装詳細については Capgo Live Updates for the product workflow in Capgo Live Updates, and Rollback Strategies for Capacitor Live Updates for the practical context in Rollback Strategies for Capacitor Live Updates.