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 besonders vorteilhaft für Benutzer mit langsamen oder abgerechneten Netzwerkverbindungen, da es den Datenverkehr minimiert, der heruntergeladen werden muss.

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

Delta-(Manifest)-Updates in Capgo werden durch das Capgo-Plugin in Ihrer App gehandhabt. Wenn Sie eine neue Version Ihrer App mit dem --delta Flag, Capgo leistet Folgendes:

  1. Jeder Datei in Ihrem Build wird einzeln hochgeladen
  2. Für jede Datei werden Prüfsummen generiert
  3. Eine neue JSON-Manifestdatei wird erstellt, in der alle Dateien und ihre Prüfsummen aufgeführt sind
  4. Dieses Manifest wird an 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 die --delta Flag, wenn Sie eine neue Version hochladen:

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

Wenn autoUpdate auf eine sofortige Anwendung ("atInstall", "onLaunch", oder "always") in Ihrer capacitor.configfestgelegt ist, erkennt die CLI es. In nicht-interaktiven Umgebungen sendet sie Delta (Manifest)-Updates automatisch, und in interaktiven Umgebungen fragt sie Sie nach Bestätigung, bevor sie hochlädt. Legacy- directUpdate Konfiguration wird weiterhin erkannt. Verwenden Sie --no-delta um eine vollständige Bundle-Upload zwingen.

Wenn Sie sicherstellen möchten, dass alle Uploads Delta-Updates (Manifest) 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 ein Manifest erstellen. Jedes Gerät, das Delta-Updates (Manifest) nicht unterstützt, kann das Update nicht herunterladen.

Sie möchten möglicherweise --delta-only wenn:

  • Sie möchten immer Delta-Updates (Manifest) verwenden und keine vollständigen Bundle-Uploads zulassen
  • Sie setzen ein CI/CD-Pipeline auf und möchten sicherstellen, dass alle automatisierten Uploads Delta-Updates (Manifest) sind
  • Ihr App ist groß und die Bandbreite ist eingeschränkt, daher müssen Sie die Upload- und Downloadgröße minimieren

Wenn Sie eine vollständige Bundle-Upload durchführen müssen, während --delta-only gesetzt ist, führen Sie einfach den Upload-Befehl ohne --delta-onlyDies wird die Einstellung für diesen einzelnen Upload überschreiben, sodass Sie ein vollständiges Bundle pushen können, wenn Sie es benötigen.

Wenn Delta (Manifest)-Updates nicht funktionieren (d. h. Geräte laden immer das vollständige JS-Bundle, auch bei kleinen Änderungen), überprüfen Sie, 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 mit 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 Pakettyp Wenn Sie weiterhin Schwierigkeiten haben, wenden Sie sich bitte an das __CAPGO_KEEP_0__-Support-Team für weitere Unterstützung. Sie können die Server-Protokolle überprüfen, um zu bestätigen, dass Ihre Delta- (Manifest-) Uploads korrekt verarbeitet werden und dass Geräte die aktualisierten Manifeste empfangen.

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.

Delta (Manifest)-Uploads --delta Die Flagge Capgo erzwingt die Durchführung der einzelnen Dateiuploads und der Manifestgenerierung, 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 weglassen, wird Capgo das gesamte JS-Bundle als einzelne Datei hochladen und Geräte werden die ganze 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 im Produktworkflow in Capgo Live Updates, Übersicht zur Implementierungsdetail in Übersicht, Features für die Implementierungsdetails in Features, Updateverhalten für die Implementierungsdetails in Updateverhalten, und Updatearten für die Implementierungsdetails in Updatearten.