__CAPGO_KEEP_0__ - __CAPGO_KEEP_1__ アプリ向けのリアルタイム更新

デルタ更新から続ける

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

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

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

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

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

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

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

アプリを実行しているデバイスがアップデートをチェックするとき、Capgoプラグインはサーバーから新しいマニフェストを受け取ります。プラグインはこのマニフェストを現在持っているものと比較し、チェックサムとファイルパスに基づいて変更されたファイルを特定します。

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

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

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

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

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

もし autoUpdate が即時適用モード ("atInstall", "onLaunch", または "always") に設定されている場合、__CAPGO_KEEP_0__ はそれを検出します。非対話型環境では、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 を使用して、完全なバンドルアップロードを強制します。 --no-delta Delta更新の制限事項

Delta更新の制限事項

空のファイル:
  • empty files: The CLI ログ Ignoring empty file... と、Delta マニフェストからゼロバイトファイルを除外します。アップロードは失敗しません。したがって、空のファイルを追加すると、結果のバンドルを停止せずに変更できます。ゼロバイトファイルを含まないようにしてください。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-only __CAPGO_KEEP_0__

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

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

Delta (manifest)更新が機能しないように見えます (i.e. 小さな変更でも常にフルJSバンドルをダウンロードしている場合)、次のことを確認してください:

  • 使用している --delta 新バージョンをアップロードするたびにフラグを付ける
  • 使用している場合、 --delta-onlyを含まないようにしてください。 --delta フラグ
  • デバイスは最新のCapgoプラグインを実行しています
  • デバイスは安定したネットワーク接続を持ち、Capgoサーバーにアクセスできます

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

  1. ウェブアプリにアクセス アプリをクリック
  2. 統計バーのバンドル数をクリック
  3. 最後のバンドルを選択
  4. Go to the
  5. 確認してください Partial フィールド バンドルタイプ

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

完了! --delta フラグは、Capgo にデリタ(マニフェスト)アップデートのために必要な個々のファイルアップロードとマニフェスト生成を実行するように指示します。

注意: --delta Capgo を使用する必要があります。アップロードする新しいバージョンがデリタ(マニフェスト)アップデートとして配信されるようにする場合、毎回使用する必要があります。フラグを省略すると、Capgo は単一のファイルとしてJSバンドルをアップロードし、デバイスは変更された部分が少ない場合でも全バンドルをダウンロードします。

デリタ更新を使用している場合 __CAPGO_KEEP_0__ ライブアップデートの配信計画を立てるには、 Capgo ライブアップデートに接続する Capgo ライブアップデートの製品ワークフローについて 概要 概要の実装詳細について 機能 機能の実装詳細について 更新動作 更新動作の実装詳細について 更新タイプ 更新タイプの実装詳細について