Zum Inhalt springen

Delta-Updates

Capgo’s Live-Update-System kann Updates schneller und effizienter liefern, indem nur die geänderten Dateien gesendet werden, anstatt die gesamte JS-Bundle.

Dies ist besonders vorteilhaft für Benutzer mit langsameren oder abgerechneten Netzwerkverbindungen, da es die Menge an herunterzuladender Daten minimiert.

Ein zweiter Vorteil ist, wenn die App große Assets hat, die selten geändert werden, wie Bilder oder Videos, im Vergleich zu komprimierten JS-Dateien, werden diese nur einmal heruntergeladen.

Delta (manifest) Updates in Capgo werden durch den Capgo-Plugin in Ihrer App gehandhabt. Wenn Sie eine neue Version Ihrer App mit der Flagge Capgo hochladen, führt Capgo die folgenden Schritte aus: --delta flag, Capgo does the following:

  1. Für jede Datei werden Prüfsummen generiert.
  2. Ein neuer JSON-Manifest wird erstellt, das alle Dateien und ihre Prüfsummen auflistet.
  3. Dieses Manifest wird an die __CAPGO_KEEP_0__-Datenbank hochgeladen.
  4. Wenn ein Gerät mit Ihrer App eine Aktualisierung überprüft, erhält das Capgo-Plugin den neuen Manifest von dem Server. Es vergleicht dieses Manifest mit dem, das es derzeit hat, und identifiziert die geänderten Dateien auf der Grundlage der Prüfsummen und der Dateipfade.

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.

Each file in your build is uploaded individually

Um Delta-(Manifest)-Updates für Ihre Capgo-Anwendung zu aktivieren, verwenden Sie einfach die Flagge bei der Hochladen einer neuen Version: --delta Terminalfenster

Zur Zwischenablage kopieren
npx @capgo/cli@latest bundle upload --delta

ist in Ihrem directUpdate aktiviert, erkennt __CAPGO_KEEP_0__ es. In nicht-interaktiven Umgebungen sendet es Delta-(Manifest)-Updates automatisch, und in interaktiven Umgebungen fragt es Sie vor dem Hochladen nach Bestätigung an. 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. Use --no-delta eine vollständige Bundle-Upload zu erzwingen.

Delta (Manifest)-Updates durchsetzen

Abschnitt: "Delta (Manifest)-Updates durchsetzen"

Wenn Sie sicherstellen möchten, dass alle Uploads Delta (manifest)-Updates sind und keine ungewollten vollständigen Bundle-Uploads zulassen, können Sie den --delta-only Flag:

Terminalfenster
npx @capgo/cli@latest bundle upload --delta-only

Wenn --delta-only wird verwendet, wird Capgo nur einzelne Dateien hochladen und eine Manifest-Datei erstellen. Jedes Gerät, das Delta (manifest)-Updates nicht unterstützt, kann die Aktualisierung nicht herunterladen.

Sie möchten vielleicht --delta-only Wenn:

  • Sie möchten immer Delta (manifest)-Updates verwenden und keine vollständigen Bundle-Uploads zulassen
  • Sie stellen ein CI/CD-Pipeline ein und möchten sicherstellen, dass alle automatischen Uploads Delta (Manifest) sind.
  • Ihr App ist groß und die Bandbreite ist eingeschränkt, daher müssen Sie die Upload- und Download-Größen minimieren.

Wenn Sie eine vollständige Bundle-Upload benötigen, während --delta-only Dies wird die Einstellung für diesen einzelnen Upload überschreiben, sodass Sie ein vollständiges Bundle pushen können, wenn nötig. --delta-onlyFehlerbehebung

Sie das

  • Flag immer dann verwenden, wenn Sie eine neue Version hochladen --delta Wenn Sie
  • sind, stellen Sie sicher, dass Sie das --delta-onlynicht versehentlich weggelassen haben --delta Flagge
  • Ihr Gerät läuft der neuesten Version des Capgo-Plugins
  • Ihr Gerät hat eine stabile Netzwerkverbindung und kann die Capgo-Server erreichen

Sie können auch die Capgo-Webanwendung verwenden, um die Details Ihrer letzten Upload zu überprüfen:

  1. Gehe zur Webanwendung
  2. Klicken Sie auf Ihre App
  3. Klicken Sie auf die Anzahl der Pakete in der Statistikleiste.
  4. Wählen Sie das letzte Paket
  5. Überprüfen Sie das Partial Feld Pakettyp

Wenn Sie weiterhin Schwierigkeiten haben, wenden Sie sich bitte an den Capgo-Support, um weitere Unterstützung zu erhalten. Sie können die Serverprotokolle überprüfen, um sicherzustellen, dass Ihre Delta-(Manifest)-Uploads korrekt verarbeitet werden und dass Geräte die aktualisierten Manifeste empfangen.

Das ist alles! Die --delta Flagge sagt Capgo, die einzelnen Dateianlagen und die Manifest-Generierung durchzuführen, die für Delta-(Manifest)-Updates erforderlich sind.

Hinweis: Sie müssen --delta jedes Mal verwenden, wenn Sie eine neue Version hochladen, die Sie als Delta-(Manifest)-Update liefern möchten. Wenn Sie die Flagge auslassen, wird Capgo die gesamte JS-Bundle als einzelne Datei hochladen und Geräte werden die ganze Bundle herunterladen, selbst wenn nur ein kleiner Teil geändert wurde.