Zum Inhalt springen

Delta-Updates

Das Live-Update-System von Capgo 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 langsamen oder abgerechneten Netzwerkverbindungen, da es die Menge an heruntergeladenen Daten minimiert.

Aus diesem Grund wird die App nur einmal heruntergeladen, wenn sie große Assets enthält, die selten geändert werden, wie Bilder oder Videos, im Vergleich zu zugehörigen JS-Dateien.

Delta (manifest) updates in Capgo are handled by the Capgo plugin installed in your app. When you upload a new version of your app using the --delta flag, Capgo does the following:

  1. Für jede Datei werden Prüfsummen generiert
  2. Ein neues JSON-Manifest wird erstellt, das alle Dateien und ihre Prüfsummen enthält
  3. Dieses Manifest wird in die Capgo-Datenbank hochgeladen
  4. This manifest is uploaded to the Capgo database

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.

Manifest

Delta (Manifest)-Updates aktivieren

Abschnitt: 'Delta (Manifest)-Updates aktivieren'

Um Delta-Updates (Manifest) für Ihre Capgo-App zu aktivieren, verwenden Sie einfach die --delta Flag, wenn Sie eine neue Version hochladen:

Terminal-Fenster
npx @capgo/cli@latest bundle upload --delta

Wenn autoUpdate als Instant-Apply-Modus ("atInstall", "onLaunch"oder "always") in Ihrer capacitor.configDie CLI erkennt es. In nicht interaktiven Umgebungen werden Delta-Updates (Manifest) automatisch gesendet, und in interaktiven Umgebungen wird Sie vor dem Hochladen aufgefordert, die Bestätigung zu geben. Legacy directUpdate Verwenden Sie --no-delta um eine vollständige Bundle-Upload zwingen.

  • Leere Dateien: Die CLI protokolliert Ignoring empty file... und schließt leere Dateien aus dem Delta-Manifest aus. Es wird keine Upload-Fehler verursacht, daher kann das Hinzufügen einer leeren Datei das Ergebnis des Bundles ändern, ohne die Bereitstellung zu stoppen. Leere Dateien sollten nicht in Delta-Bundle-Pfaden enthalten sein.
  • Pfadbereiche mit Leerzeichen: Delta-Uploads scheitern vor dem Hochladen von Dateien, wenn ein Bundle-Pfad Leerzeichen enthält. Benennen Sie die Datei oder den Ordner um, um Leerzeichen zu entfernen, bevor Sie ein Delta-Update hochladen.

If Sie sicherstellen möchten, dass alle Uploads Delta (Manifest)-Updates sind und unbeabsichtigte vollständige Bundle-Uploads verhindern möchten, können Sie das verwenden. --delta-only Flag:

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

Wenn --delta-only Capgo wird nur einzelne Dateien hochladen und ein Manifest generieren. Jedes Gerät, das Delta (Manifest)-Updates nicht unterstützt, kann das Update nicht herunterladen.

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

  • Sie möchten immer Delta (Manifest)-Updates verwenden und vollständige Bundle-Uploads nie 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ößen minimieren.

Wenn Sie ein vollständiges Bundle-Upload durchführen müssen. --delta-only lässt sich einfach durch die Ausgabekommando ohne --delta-onlyDies wird die Einstellung für diese einzelne Upload überschreiben, sodass Sie eine vollständige Bundle pushen können, wenn nötig.

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

  • Sie das --delta Flag setzen, sobald Sie eine neue Version hochladen
  • Wenn Sie --delta-onlyverwenden, stellen Sie sicher, dass Sie das --delta Flag nicht vergessen haben
  • Sie haben das neueste Plugin der Capgo-Version auf Ihrem Gerät installiert
  • Sie haben auf Ihrem Gerät eine stabile Netzwerkverbindung und können 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 alles! Die --delta Flagge sagt Capgo an, die einzelnen Dateianlagen und die Manifest-Generierung durchzuführen, die für Delta-(Manifest)-Updates erforderlich sind.

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 Flagg omit, wird Capgo die gesamte JS-Bundle als einzelnes Datei hochladen und Geräte werden die gesamte Bundle herunterladen, selbst wenn nur ein kleiner Teil geändert wurde.

Wenn Sie Delta-Updates Delta-Updates context: Seite/ Bereich: Produkt/Preisliste der Unternehmensprodukt. Rolle: Kurzer UI-Label oder Navigationselement. Gesehen in: Seite enterprise.astro. Nachrichten Schlüssel `enterprise_delta_updates` (Unternehmens-Delta-Updates). mit Capgo Live Updates for the product workflow in Capgo Live Updates, verbunden haben, für das Produktworkflow in __CAPGO_KEEP_0__ Live Updates, Übersicht Übersicht für die Implementierungsdetails in Übersicht, und für die Implementierungsdetails in Features Aktualisierungsverhalten für die Implementierungsdetails in Aktualisierungsverhalten und Aktualisierungstypen für die Implementierungsdetails in Aktualisierungstypen.