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 das gesamte JS-Bundle.

Dies ist insbesondere für Benutzer auf langsamen oder abgerechneten Netzwerkverbindungen von Vorteil, da es den Datenverkehr 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 hochladen, tut Capgo Folgendes: --delta flag, Capgo does the following:

  1. Jedes Datei in Ihrem Build wird einzeln hochgeladen
  2. Für jede Datei werden Prüfsummen generiert
  3. Eine neue JSON-Manifestdatei wird erstellt, die alle Dateien und ihre Prüfsummen auflistet
  4. Dieses Manifest wird in die Capgo-Datenbank hochgeladen

Wenn ein Gerät, das Ihre App ausführt, nach einer Aktualisierung sucht, erhält das Capgo-Plugin das neue Manifest vom Server. Es vergleicht dieses Manifest mit dem, das es derzeit hat, und identifiziert auf der Grundlage der Prüfsummen und Dateipfaden, welche Dateien geändert wurden.

Das Plugin lädt dann nur die geänderten Dateien herunter, anstatt die gesamte JS-Bundle. Es rekonstruiert die neue Version der App, indem es diese heruntergeladenen Dateien mit den unveränderten Dateien kombiniert, die es bereits hat.

Um Delta-(Manifest)-Updates für Ihre Capgo-App zu aktivieren, verwenden Sie einfach das --delta Flagge, wenn ein neues Version hochgeladen wird:

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

Wenn autoUpdate sich auf eine Instant-Apply-Modus ("atInstall", "onLaunch", oder "always") in Ihrem capacitor.config, die CLI erkennt. In nicht-interaktiven Umgebungen werden Delta (Manifest)-Updates automatisch gesendet, und in interaktiven Umgebungen wird Sie vor dem Hochladen aufgefordert, bestätigen zu müssen. Legacy directUpdate Konfiguration wird noch erkannt. Verwenden Sie --no-delta um eine vollständige Bundle-Upload zwingen.

Wenn Sie sicherstellen möchten, dass alle Uploads Delta-(Manifest)-Updates sind und keine ungewollten vollständigen Bundle-Uploads erfolgen, 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 ein Manifest erstellen. Jedes Gerät, das Delta-(Manifest)-Updates nicht unterstützt, kann das Update 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 setzen ein CI/CD-Pipeline ein und möchten sicherstellen, dass alle automatisierten Uploads Delta-(Manifest)-Updates sind
  • Ihr App ist groß und die Bandbreite ist eingeschränkt, daher müssen Sie die Upload- und Downloadgröße minimieren

Wenn Sie einen vollständigen Bundle-Upload durchführen müssen --delta-only wird gesetzt, führen Sie einfach den Upload-Befehl ohne --delta-only. Dies überschreibt die Einstellung für diesen einzelnen Upload und ermöglicht es Ihnen, eine vollständige Bundle zu pushen, wenn erforderlich.

Wenn Delta (Manifest)-Updates nicht funktionieren (d. h. Geräte laden immer die vollständige JS-Bundle, auch bei kleinen Änderungen), überprüfen Sie bitte, ob:

  • Sie das --delta -Flag immer dann verwenden, wenn Sie eine neue Version hochladen
  • Wenn Sie --delta-onlyverwenden, stellen Sie sicher, dass Sie das --delta -Flag nicht versehentlich weggelassen haben
  • Ihr Gerät läuft unter 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 Uploads zu überprüfen:

  1. Gehe zur Webanwendung
  2. Klicke auf deine App
  3. Klicke auf die Anzahl der Pakete in der Statistikleiste.
  4. Wähle das letzte Paket
  5. Überprüfe das Partial Feld Bundle-Typ

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

Das ist es! Die --delta flag tells Capgo to perform the individual file uploads and manifest generation needed for Delta (manifest) updates.

Beachten Sie, dass Sie --delta jedes Mal verwenden müssen, wenn Sie eine neue Version hochladen, die als Delta-Update (Manifest) bereitgestellt werden soll. Wenn Sie die Flag-Option auslassen, wird Capgo die gesamte JS-Bundle als einzelnes Datei hochladen und Geräte werden die gesamte Bundle herunterladen, auch wenn nur ein kleiner Teil geändert wurde.

Wenn Sie Delta-Updates zur Planung von Live-Update-Delivery verwenden, verbinden Sie es mit Capgo Live Updates für das Produktworkflow in Capgo Live Updates, Übersicht für die Implementierungsdetails in Übersicht, Funktionen für die Implementierungsdetails in Features Aktualisierungsverhalten für die Implementierungsdetails in Aktualisierungsverhalten, und Aktualisierungstypen für die Implementierungsdetails in Aktualisierungstypen.