Skip to content

デルタアップデート

Capgoのライブアップデートシステムは、変更されたファイルのみを送信することで、JSバンドルの全体を送信するのではなく、更新をより速く効率的に提供できます。

特に、スロワーやメートルネットワーク接続のユーザーにとっては、ダウンロードする必要があるデータの量を最小限に抑えることで、特に有益です。

A second benefit is when the app has large assets that change rarely, like images or videos, compared to zipped JS files, it will be downloaded only once.

How Delta (Manifest) Updates Work

How Delta (Manifest) Updates Work

Delta (manifest) updates in Capgo are handled by the Capgo plugin installed in your app. When you upload a new version of your app using the --delta flag, Capgo does the following:

  1. Checksums are generated for each file
  2. A new JSON manifest is created, listing all files and their checksums
  3. This manifest is uploaded to the Capgo database
  4. This manifest is uploaded to the Capgo database

When a device running your app checks for an update, the Capgo plugin receives the new manifest from the server. It compares this manifest to the one it currently has, identifying which files have changed based on the checksums and file paths.

Differential (manifest)

Delta (マニフェスト) の更新を有効にする

「Delta (マニフェスト) の更新を有効にする」のセクション

Capgo アプリのために Delta (マニフェスト) の更新を有効にするには、単に次の旗を使用して新しいバージョンをアップロードしてください: --delta ターミナル画面

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

がデバイスのインスタント アプリケーション モード ( autoUpdate ) に設定されている場合、または"atInstall", "onLaunch"に設定されている場合 "always") in your capacitor.config、CLIはそれを検出します。非対話型環境では、Delta(マニフェスト)アップデートを自動的に送信し、対話型環境ではアップロードする前に確認を求めるよう指示します。LEGACY directUpdate configはまだ検出されます。使用 --no-delta を使用して、完全なバンドルアップロードを強制します。

  • 空のファイル: CLIはログ Ignoring empty file... とゼロバイトファイルを除外し、Deltaマニフェストから除外します。アップロードを中断せずに、デプロイメントを停止せずに、結果のバンドルを変更することができます。ゼロバイトファイルをDeltaバンドルパスに含めないでください。
  • パス内のスペース: 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(マニフェスト)更新を使用し、フルバンドルアップロードを許可しない場合 --delta-only CI/CDパイプラインを設定し、すべての自動アップロードがDelta(マニフェスト)更新であることを確認したい場合

  • アプリケーションが大きく帯域幅が制限されているため、アップロード/ダウンロードサイズを最小限に抑えたい場合
  • フルバンドルアップロードを行う必要がある場合
  • if

When --delta-only アップロードコマンドを実行するだけです。 --delta-onlyこれにより、必要に応じて完全なバンドルをプッシュできます。

トラブルシューティング

トラブルシューティング

Delta (マニフェスト) アップデートが機能しないように見えます (例: デバイスは常に小さな変更にもとづいてフルJSバンドルをダウンロードしています)。

  • Delta (マニフェスト) アップデート --delta flagを使用するたびに新しいバージョンをアップロードする
  • flagを使用している場合 --delta-onlyflagを省略していないことを確認する --delta 最新バージョンの__CAPGO_KEEP_0__ プラグインを実行しているデバイス
  • デバイスは安定したネットワーク接続を持ち、Capgoサーバーにアクセスできる
  • Your device has a stable network connection and can reach the Capgo servers

You can also use the Capgo webapp to check the details of your last upload:

  1. Capgoの ウェブアプリ
  2. アプリをクリック
  3. 統計バーの
  4. バンドル数
  5. 最後のバンドルを選択 Partial バンドルの タイプ

If you continue to have trouble, please reach out to Capgo support for further assistance. They can check the server logs to confirm that your Delta (manifest) uploads are being processed correctly and that devices are receiving the updated manifests.

それがすべてです! このフラグはCapgoに、Delta(マニフェスト)アップデートのために必要な個々のファイルアップロードとマニフェスト生成を実行するように指示します。 --delta flag tells Capgo to perform the individual file uploads and manifest generation needed for Delta (manifest) updates.

注意: __CAPGO_KEEP_0__ を使用する必要があります。 --delta Capgo を使用しないと、Capgo がアップロードされるため、デバイスは全体のバンドルをダウンロードすることになります。ただし、変更された部分が小さくても、全体のバンドルをダウンロードすることになります。

Delta更新から続ける

「Delta更新から続ける」

Delta更新を使用している場合 Delta更新 Delta更新を使用してライブアップデートの配信計画を立てるには、__CAPGO_KEEP_0__ Live Updates に接続する必要があります。 Capgo Live Updates Capgo Live Updates の製品ワークフローに接続する必要があります。 概要 概要の実装詳細 機能 Capgoの機能詳細の実装について アップデートの動作 アップデートの動作の実装詳細について、そして アップデートの種類 アップデートの種類の実装詳細について。