コンテンツにスキップ

Delta更新

CapgoのLive Updateシステムは、変更されたファイルのみを送信することで、JSバンドルの全てを送信するのではなく、更新をより効率的に迅速に提供することができます。

この機能は、データ量が少なくなるため、遅いネットワーク接続またはメートル接続のユーザーにとって特に便利です。

アプリが大きなアセットを持っていて、まれに変更されるような画像や動画の場合、圧縮されたJSファイルと比較して、zipped JSファイルは一度だけダウンロードされます。

デルタ(マニフェスト)アップデートのしくみ

Section titled “デルタ(マニフェスト)アップデートのしくみ”

Capgoのデルタ(マニフェスト)アップデートは、Capgoプラグインによって管理されます。このプラグインは、Capgoでアップロードされた新しいアプリのバージョンを検証します。 --delta flagを使用して新しいアプリのバージョンをアップロードすると、Capgoは以下のことを行います。

  1. 各ファイルが個別にアップロードされます。
  2. 各ファイルに対してチェックサムが生成されます。
  3. 新しいJSONマニフェストが作成され、ファイルとチェックサムのリストが作成されます。
  4. このマニフェストはCapgoのデータベースにアップロードされます。

デバイス上で実行中のアプリがアップデートを検索すると、Capgoプラグインはサーバーから新しいマニフェストを受信します。プラグインは、現在のマニフェストと比較して、チェックサムとファイルパスの情報に基づいて変更されたファイルを特定します。

プラグインは変更されたファイルのみをダウンロードし、変更されていないファイルを既存のファイルと組み合わせて新しいアプリのバージョンを作成します。

Delta (Manifest)更新を有効化

Delta (Manifest)更新を有効化する

Delta (Manifest)更新を有効化するには、Capgoアプリの新しいバージョンをアップロードする際に、 --delta ターミナル画面

コピー
npx @capgo/cli@latest bundle upload --delta

__CAPGO_KEEP_0__が即時適用モード ( autoUpdate または"atInstall", "onLaunch"に設定されている場合 "always"(環境によって) capacitor.config、CLIはそれを検出します。非対話型環境では、Delta(マニフェスト)アップデートを自動的に送信し、対話型環境ではアップロードする前に確認を求めます。 directUpdate レガシーコンフィグはまだ検出されます。 --no-delta を使用して、フルバンドルアップロードを強制します。

Delta(マニフェスト)アップデートの強制

セクション:「Delta(マニフェスト)アップデートの強制」

全てのアップロードがDelta(マニフェスト)アップデートであることを保証し、誤ってフルバンドルアップロードをしないようにするには、 --delta-only フラグ:

ターミナル画面
npx @capgo/cli@latest bundle upload --delta-only

使用される場合、__CAPGO_KEEP_0__は個々のファイルのみをアップロードし、マニフェストを生成します。Delta(マニフェスト)アップデートをサポートしていないデバイスはアップデートをダウンロードできません。 --delta-only is used, Capgo will only upload individual files and generate a manifest. Any device that does not support Delta (manifest) updates will not be able to download the update.

使用する必要があるかもしれません --delta-only __CAPGO_KEEP_0__

  • 常にDelta (マニフェスト)更新を使用し、フルバンドルアップロードを許可しないようにします
  • CI/CDパイプラインを設定し、すべての自動アップロードがDelta (マニフェスト)を使用するようにする必要があります
  • アプリケーションが大きく帯域幅が制限されているため、アップロード/ダウンロードサイズを最小限に抑える必要があります

__CAPGO_KEEP_0__ --delta-only がセットされている場合、単にアップロードコマンドを実行してください。 --delta-onlyこれは、必要に応じて完全なバンドルをプッシュできるように、設定をオーバーライドするためです。

Delta (マニフェスト)更新が機能しないように見えます (つまり、デバイスは小さな変更でも常にフルJSバンドルをダウンロードしている場合)、次のことを確認してください:

  • 使用している --delta flag every time you upload a new version
  • If using --delta-only、使用している場合は --delta flag
  • Capgo プラグインの最新バージョンを実行しているデバイス
  • Capgo サーバーに接続し、安定したネットワーク接続を保っているデバイス

Capgo ウェブアプリを使用して、最後のアップロードの詳細を確認することもできます:

  1. ウェブアプリにアクセス アプリをクリック
  2. 統計バーのバンドル数をクリック
  3. 最後のバンドルを選択
  4. ウェブアプリにアクセス
  5. チェックする Partial field バンドルタイプ

もし問題が続きますので、Capgo のサポートにご連絡ください。サポートチームはサーバーのログを確認し、Delta (マニフェスト) のアップロードが正しく処理されているか、デバイスが更新されたマニフェストを受信しているかを確認できます。

それがすべてです!Capgoはここで完了しました。 --delta Capgoはデルタ(マニフェスト)更新のために必要な個別のファイルアップロードとマニフェスト生成を実行するように指示します。

Capgoを使用するには、__CAPGO_KEEP_0__が必要です。 --delta アップロードするたびに、Delta (manifest) アップデートとして配信したいバージョンをアップロードするたびに。フラグを省略すると、Capgo は、すべての JS バンドルを 1 つのファイルとしてアップロードし、デバイスは変更が小さくても全バンドルをダウンロードすることになる。

Delta更新から続けましょう。

Deltaアップデートから続けて

Capgoを使用している場合、Capacitorの機能を利用できます。 Δeltaのアップデート __CAPGO_KEEP_0__ Live Updatesのライブアップデート配信計画の作成に使用します。 Capgo Live Updates Capgo Live Updatesの製品ワークフローについて 概要 概要の実装詳細について 機能 機能の実装詳細について 更新動作 更新動作の実装詳細について 更新タイプ 更新タイプの実装詳細について