コンテンツにジャンプ

ロールバック

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

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

自動ロールバック保護

タイトル:自動ロールバック保護

Capgoには、ユーザーが破損したアップデートから保護するための組み込みの安全機構が含まれています。JavaScriptエラーがアプリの実行前に発生した場合、ユーザーは破損したアップデートから保護されます。 notifyAppReady() メソッドが呼び出された場合、プラグインは自動的に前の正常なバージョンに戻ります。

新しいアップデートがダウンロードされ、適用された場合、Capgoはあなたのアプリがアップデートが正常にロードされたことを確認するために呼び出すことを期待します。 notifyAppReady() アップデートが正常にロードされたことを確認するために呼び出す必要がある時間枠は、構成可能です。このメソッドは次のことを示します:

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

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

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

この自動保護により、意図しなく壊れた更新を意図せずにプッシュした場合でも、ユーザーは機能しないアプリに囚われません。

タイムアウトの設定

「タイムアウトの設定」

Capgo が notifyAppReady() を呼び出されるまで待つ時間を設定することができます。 appReadyTimeout in your Capacitor configuration:

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

The appReadyTimeout value is specified in milliseconds. The default timeout is typically 10 seconds, but you can adjust this based on your app’s initialization requirements. If your app takes longer to load due to complex initialization processes, you may want to increase this value.

Every time you upload a new build and assign it to a channel, Capgo keeps a history of those builds. If you need to revert a specific update, you can select one of these previous builds to redeploy to the channel.

Rollback UI interface

The primary way to roll back is through the rollback interface, which is located in the 4th tab (History) when viewing a channel in the Capgo Dashboard. This tab provides a comprehensive view of all available builds for the channel, allowing you to easily select and revert to any previous version.

To roll back using the History tab:

  1. Log in to the Capgo Dashboard.

  2. Navigate to the “Channels” section.

  3. 指定したチャンネルをロールバックするには、その名前をクリックしてください。

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

  5. チャンネルビューのビルド履歴で、ロールバックしたいビルドを探してください。

  6. そのビルドを選択して、チャンネルでそのビルドを有効にします。

  7. このビルドにロールバックすることを確認してください。

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

「代替方法:クラウンアイコンを使用する」のセクション

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

  1. チャンネルビューの最初のタブで、ロールバックしたいビルドを探してください。
  2. そのビルドの隣にあるクラウンアイコンをクリックして、チャンネルでそのビルドを有効にします。 チャンネル管理オプション
  3. このビルドにロールバックすることを確認してください。

After rolling back, devices configured to listen to the updated channel will receive the previous build the next time they check for an update. The rolled-back build will be treated as a new update, so the usual update flow and conditions apply.

If you want to temporarily halt updates on a channel while you investigate an issue, you can unlink the channel from its current build.

To unlink a channel:

  1. Navigate to the channel in the Capgo Dashboard.

  2. Click the “Unlink” button next to the current build.

  3. Confirm that you want to unlink the channel.

Once a channel is unlinked, it will not distribute any new updates. Devices configured to that channel will stay on their current build until the channel is linked to a build again.

この機能は、更新で問題が発生した場合に、どのビルドに戻りたいかまだわからない場合に便利です。チャンネルをアンリンクすると、調査する時間を稼ぎながら、さらに更新を出さないようにできます。

ビルトインバンドルを強制する

ビルトインバンドルを強制する

より重篤な状況では、チャンネル全体のデバイスを、元々アプリのネイティブバイナリと一緒にパッケージされたオリジナルのWebビルドに戻したい場合があります。これは「ビルトインバンドル」と呼ばれます。

チャンネル内のビルトインバンドルを強制するには:

  1. Capgo ダッシュボードにチャンネルを移動します。

  2. 「ビルトインバンドル」ボタンをクリックします。

  3. ビルトインバンドルを強制することを確認します。

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

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

__CAPGO_KEEP_1__

__CAPGO_KEEP_2__

__CAPGO_KEEP_3__

__CAPGO_KEEP_4__

  • __CAPGO_KEEP_5__
  • __CAPGO_KEEP_6__
  • __CAPGO_KEEP_7__
  • __CAPGO_KEEP_8__

__CAPGO_KEEP_9__

__CAPGO_KEEP_10__

__CAPGO_KEEP_11__

__CAPGO_KEEP_0__ Live Updates ロールバック __CAPGO_KEEP_0__ Live Updatesの計画ロールバックとバージョン管理のために接続する バージョン目標 バージョン目標の実装詳細のために接続する 更新動作 更新動作の実装詳細のために接続する バンドル バンドルの実装詳細のために接続する Capgo Live Updatesの製品ワークフロー Capgo Live Updatesのロールバック戦略のために接続する Capacitor Live Updatesのロールバック戦略のために接続する Capacitorのロールバック戦略の実用的なコンテキストにおけるライブ更新用の