コンテンツにスキップ

デルタアップデート

Capgo’s Live Update system can deliver updates faster and more efficiently by only sending the changed files, rather than the entire JS bundle.

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

デルタ(マニフェスト)更新のしくみ

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

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

デバイスがアプリをアップデートする際に、Capgoプラグインはサーバーから新しいマニフェストを受信し、現在持っているマニフェストと比較します。チェックサムとファイルパスを使用して、どのファイルが変更されたかを特定します。

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

Delta (マニフェスト)更新の有効化

Delta (マニフェスト)更新の有効化

To enable Delta (manifest) updates for your Capgo app, simply use the --delta Capgoアプリのために、Delta (マニフェスト)更新を有効にするには、次のフラグを使用して新しいバージョンをアップロードしてください:

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

Capgoアプリのために、Delta (マニフェスト)更新を有効にするには、次のフラグを使用して新しいバージョンをアップロードしてください: autoUpdate Capgoアプリのために、Delta (マニフェスト)更新を有効にするには、次のフラグを使用して新しいバージョンをアップロードしてください:"atInstall", "onLaunch"Capgoアプリのために、Delta (マニフェスト)更新を有効にするには、次のフラグを使用して新しいバージョンをアップロードしてください: "always"Capgoアプリのために、Delta (マニフェスト)更新を有効にするには、次のフラグを使用して新しいバージョンをアップロードしてください: capacitor.config, the CLI detects it. In non-interactive environments it sends Delta (manifest) updates automatically, and in interactive environments it prompts you to confirm before uploading. Legacy directUpdate Capgoアプリのために、Delta (マニフェスト)更新を有効にするには、次のフラグを使用して新しいバージョンをアップロードしてください: --no-delta 完全なバンドルアップロードを強制します。

デルタアップデートの制限事項

「デルタアップデートの制限事項」セクション
  • 空のファイル: CLI ログ Ignoring empty file... ゼロバイトファイルを除外し、デルタマニフェストから除外します。アップロードは失敗しません。空のファイルを追加すると、結果のバンドルが停止せずに変更される可能性があります。ゼロバイトファイルを含まないデルタバンドルパスを使用しないでください。
  • パス内のスペース: デルタアップロードは、バンドルパスにスペースが含まれている場合にアップロードするファイルをアップロードする前に失敗します。スペースを含まないファイル名またはディレクトリ名に変更して、デルタアップデートをアップロードしてください。

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

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

すべてのアップロードがデルタ(マニフェスト)アップデートであることを保証し、誤って完全なバンドルアップロードを防止するには、使用できます。 --delta-only フラグ:

ターミナルウィンドウ
npx @capgo/cli@latest bundle upload --delta-only

場合 --delta-only 使用される場合、Capgoは個々のファイルのみをアップロードし、メニーファイルを生成します。Delta (メニーファイル)更新をサポートしないデバイスはアップデートをダウンロードできません。

使用したい場合は --delta-only 常にDelta (メニーファイル)更新を使用し、フルバンドルアップロードを許可しない場合は

  • CI/CDパイプラインを設定し、すべての自動アップロードがDelta (メニーファイル)更新であることを確認したい場合は
  • アプリケーションが大きく帯域幅が制限されているため、アップロード/ダウンロードサイズを最小限に抑えたい場合は
  • フルバンドルアップロードが必要な場合

はセットされている場合、単にアップロードコマンドを実行してください。 --delta-only をオーバーライドし、必要に応じて完全なバンドルをプッシュできます。 --delta-only. This will override the setting for that single upload, allowing you to push a complete bundle when needed.

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

  • Capacitor を使用している場合、 --delta フラグを毎回新しいバージョンをアップロードするたびに使用することを確認してください
  • Capacitor を使用している場合、 --delta-onlyフラグを忘れずに含めてください --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. Go to the __CAPGO_KEEP_0__ web app webapp
  2. Click on your app
  3. Click on the bundles number of the stats bar.
  4. Select the last bundle
  5. Check the Partial field bundle type

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.

That’s it! The --delta flag tells Capgo to perform the individual file uploads and manifest generation needed for Delta (manifest) updates.

Note that you need to use --delta every time you upload a new version that you want to be delivered as a Delta (manifest) update. If you omit the flag, Capgo will upload the entire JS bundle as a single file, and devices will download the whole bundle even if only a small part has changed.

デルタアップデートから続ける

「デルタアップデートから続ける」

「__CAPGO_KEEP_0__ Live Updates」に接続して、 デルタアップデート 「__CAPGO_KEEP_0__ Live Updates」 Capgo Live Updates 「Capgo Live Updates」 機能 「__CAPGO_KEEP_0__ Live Updates」 更新動作 If you are using __CAPGO_KEEP_0__ Live Updates to plan live update delivery, connect it with __CAPGO_KEEP_0__ Live Updates for the product workflow in __CAPGO_KEEP_0__ Live Updates, Overview for the implementation detail in Overview, アップデートの実装詳細については、 アップデートの種類 アップデートの種類の実装詳細については。