Delta-Updates
Kopieren Sie einen Setup-Vorschlag mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin.
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, verglichen mit zugezippten JS-Dateien werden diese nur einmal heruntergeladen.
Wie funktionieren Delta-Updates (Manifest)?
Wie Delta (Manifest) Updates funktionierenDelta (manifest) Updates in Capgo werden durch das Capgo-Plugin in Ihrer App gehandhabt. Wenn Sie eine neue Version Ihrer App mit der --delta Flag hochladen, führt Capgo die folgenden Schritte aus:
- Jedes Datei in Ihrem Build wird einzeln hochgeladen
- Für jede Datei werden Prüfsummen generiert
- Ein neues JSON-Manifest wird erstellt, das alle Dateien und ihre Prüfsummen auflistet
- Dieses Manifest wird in die Capgo-Datenbank hochgeladen
Wenn ein Gerät, das Ihre App läuft, 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.
Delta (Manifest)-Updates aktivieren
Abschnitt: „Delta (Manifest)-Updates aktivieren“Um Delta (Manifest)-Updates für Ihre Capgo-Anwendung zu aktivieren, verwenden Sie einfach die --delta Flagge, wenn Sie eine neue Version hochladen:
npx @capgo/cli@latest bundle upload --deltaWenn autoUpdate festgelegt ist, um eine sofortige Anwendung ("atInstall", "onLaunch", oder "always") in Ihrer capacitor.config, erkennt die CLI dies. In nicht-interaktiven Umgebungen werden Delta (Manifest)-Updates automatisch gesendet, und in interaktiven Umgebungen wird Ihnen vor dem Hochladen bestätigt. Legacy directUpdate Konfiguration wird weiterhin erkannt. --no-delta eine vollständige Bundle-Upload zu erzwingen.
Limitierungen für Delta-Updates
Abschnitt „Limitierungen für Delta-Updates“- Leere Dateien: Die CLI-Protokolle
Ignoring empty file...und schließt Dateien mit einem Größe von 0 Byte aus dem Delta-Manifest aus. Es wird der Upload nicht abgebrochen, daher kann das Hinzufügen einer leeren Datei das Ergebnis des Bundles ohne Unterbrechung der Bereitstellung ändern. Leere Dateien sollten nicht in Delta-Bundle-Pfaden enthalten sein. - Pfadmuster in Pfaden: Delta-Uploads scheitern, bevor Dateien hochgeladen werden, wenn ein Bundle-Pfad ein Leerzeichen enthält. Benennen Sie die Datei oder den Ordner um, um Leerzeichen zu entfernen, bevor Sie ein Delta-Update hochladen.
Delta-Updates (Manifest) durchsetzen
Abschnitt „Delta-Updates (Manifest) durchsetzen“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:
npx @capgo/cli@latest bundle upload --delta-onlyWenn --delta-only wird bei Capgo nur einzelne Dateien hochgeladen und ein Manifest generiert. 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 vollständige Bundle-Uploads nie zulassen.
- Sie setzen ein CI/CD-Pipeline ein und möchten sicherstellen, dass alle automatischen Uploads Delta-Updates (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 während --delta-only gesetzt ist, können Sie einfach den Upload-Befehl ohne --delta-onlyausführen. Dies überschreibt die Einstellung für diesen einzelnen Upload, sodass Sie eine vollständige Bundle hochladen können, wenn Sie es benötigen.
Fehlersuche
Abschnitt mit dem Titel “Fehlersuche”Wenn Delta (manifest)-Updates nicht wie erwartet funktionieren (d.h. Geräte laden immer die vollständige JS-Bundle, auch bei kleinen Änderungen), überprüfen Sie, ob:
- Sie verwenden den
--deltaFlag bei jeder neuen Version hoch - Wenn Sie
--delta-onlyverwenden, stellen Sie sicher, dass Sie nicht versehentlich den--deltaFlag - Ihr Gerät läuft auf 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:
- Zum Webanwendung
- Klicken Sie auf Ihre Anwendung
- Klicken Sie auf die Anzahl der Pakete in der Statistikleiste.
- Wählen Sie das letzte Paket
- Überprüfen Sie das
PartialFeld
Wenn Sie weiterhin Schwierigkeiten haben, wenden Sie sich bitte an 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 Flaggtell Capgo an, die einzelnen Dateianlagen und die Manifestgenerierung 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 überspringen, 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.
Bleiben Sie bei Delta-Updates
Abschnitt mit dem Titel „Bleiben Sie bei Delta-Updates”Wenn Sie Delta-Updates verwenden Delta-Updates um die Live-Update-Übermittlung zu planen, verbinden Sie es mit Capgo Live Updates für den Produktworkflow in Capgo Live Updates, Übersicht für die Implementierungsdetails in Übersicht, Funktionen für die Implementierungsdetails in Funktionen, Aktualisierungsverhalten für die Implementierungsdetails in Updateverhalten und Update-Typen für die Implementierungsdetails in Update-Typen.