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 die gesamte JS-Bundle.
Dies ist besonders vorteilhaft für Benutzer mit langsameren oder abgerechneten Netzwerkverbindungen, da es die Menge an Daten minimiert, die heruntergeladen werden muss.
Ein zweiter Vorteil ist, wenn die App große Assets hat, die selten geändert werden, wie Bilder oder Videos, im Vergleich zu zugepackten JS-Dateien werden diese nur einmal heruntergeladen.
Wie Delta-Updates funktionieren
Abschnitt mit dem Titel „Wie Delta-Updates funktionieren“Delta 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 tut Folgendes:
- Jeder Datei in Ihrem Build wird einzeln als Differenzdatei hochgeladen
- Prüfsummen werden für jedes Differenzdatei generiert
- Die Liste der Delta-Dateien mit ihren Pfaden und Prüfsummen wird im Capgo-Datenbank gespeichert.
When a device running your app checks for an update, the Capgo plugin receives the list of delta files for the new bundle. It compares it to the files it already has, identifying which files have changed based on the checksums and file paths.
Der Plugin herunterlädt dann nur die geänderten Dateien, 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.
Welche Geräte erhalten Delta und welche das volle Zip?
Abschnitt mit dem Titel ‘Welche Geräte erhalten Delta und welche das volle Zip?’Ein Bundle, das mit --delta hat sowohl ein volles Zip als auch Delta-Dateien. Auf einem Kanal mit der Standard- Zip + Delta heruntergeladen wird, erhält jedes Gerät das beste Paket, das es unterstützt:
- Geräte auf einer Plugin-Version mit Delta-Unterstützung (
5.10.0+,6.25.0+,7.0.35+oder8+downloaden Sie nur die geänderten Delta-Dateien. - Geräte mit einer älteren Plugin-Version ohne Delta-Unterstützung laden die vollständige Zip-Datei herunter.
- Bundles, die ohne
--deltahaben keine Delta-Dateien, daher laden alle Geräte die vollständige Zip-Datei herunter.
Es ist also zu erwarten, dass Sie nach der Aktivierung von Delta noch einige vollständige Zip-Downloads sehen. Sie stammen von Geräten, die noch eine ältere native Build mit einer alten Plugin-Version laufen. Sie verschwinden, wenn die Benutzer die App aus dem Store aktualisieren.
Sie können dies pro Kanal mit der Einstellung "Herunterladeformat" anpassen.
Differenzielle Updates und Bandbreitenverbrauch
Sektion mit dem Titel "Delta-Updates und Bandbreitenverbrauch"Delta-Updates reduzieren auch Ihren Capgo Bandbreitenverbrauch. Die Bandbreite wird nur für die Dateien gezählt, die ein Gerät tatsächlich herunterlädt, also zählen nur die geänderten Dateien, nicht die ganze Bundle. Dateien oder vollständige Zips, die bereits an der Edge gecached sind, werden nicht gezählt, und unterbrochene Downloads werden an der Stelle fortgesetzt, an der sie abgebrochen wurden, ohne dass der heruntergeladene Teil zweimal gezählt wird. Siehe Wie wird die Bandbreite gezählt?.
Delta-Updates aktivieren
Abschnitt: "Delta-Updates aktivieren"Um Delta-Updates für Ihre Capgo-App zu aktivieren, verwenden Sie einfach --delta den Flag bei der Hochladen einer neuen Version:
npx @capgo/cli@latest bundle upload --deltaWenn autoUpdate wird auf einen sofortigen Anwendungsmodus (""atInstall", "onLaunch" auf "always") in Ihrem capacitor.config, das CLI erkennt es. In nicht-interaktiven Umgebungen sendet es Delta-Updates automatisch, und in interaktiven Umgebungen fragt es Sie nach Bestätigung, bevor es hochlädt. directUpdate config wird weiterhin erkannt. Verwenden Sie --no-delta einen vollständigen Bundle-Upload zu erzwingen.
Delta-Update-Begrenzungen
Abschnitt mit dem Titel “Delta-Update-Begrenzungen”- Leere Dateien: Die CLI-Protokolle
Ignoring empty file...und schließt Dateien mit Null-Byte-Größe aus den Delta-Dateien aus. Es wird keine Upload-Fehler ausgelöst, daher kann das Hinzufügen einer leeren Datei das Ergebnis-Bundle ohne Unterbrechung der Bereitstellung ändern. Leere Dateien sollten nicht in Delta-Bundle-Pfaden enthalten sein. - Pfadbereiche mit Leerzeichen: Delta-Uploads scheitern vor dem Upload von Dateien, wenn ein Bundle-Pfad ein Leerzeichen enthält. Benennen Sie die Datei oder den Verzeichnisnamen um, um Leerzeichen zu entfernen, bevor Sie ein Delta-Update hochladen.
Delta-Updates zwingen
Abschnitt mit dem Titel “Delta-Updates zwingen”Wenn Sie sicherstellen möchten, dass alle Uploads Delta-Updates 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 verwendet wird, wird Capgo nur die Delta-Dateien hochladen, ohne eine vollständige Zip-Datei. Jedes Gerät auf einer Plugin-Version ohne Delta-Unterstützung kann die Aktualisierung nicht herunterladen.
Sie möchten vielleicht verwenden: --delta-only Wenn:
- Sie möchten immer Delta-Updates verwenden und vollständige Bundle-Uploads nie zulassen.
- Sie setzen ein CI/CD-Pipeline ein und möchten sicherstellen, dass alle automatischen Uploads Delta 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 gesetzt ist, führen Sie einfach den Upload-Befehl ohne --delta-onlyaus. Dies überschreibt die Einstellung für diesen einzelnen Upload, sodass Sie eine vollständige Bundle pushen können, wenn nötig.
Problembehandlung
Abschnitt mit dem Titel “Fehlersuche”Wenn Delta-Updates nicht funktionieren (d. h. Geräte laden immer das vollständige JS-Paket, auch bei kleinen Änderungen), überprüfen Sie bitte:
- Sie verwenden das
--deltaFlag, sobald Sie eine neue Version hochladen - Wenn Sie
--delta-onlyverwenden, stellen Sie sicher, dass Sie das--deltaflag - Ihr Gerät läuft mit einer Plugin-Version, die Delta-Unterstützung bietet (
5.10.0+,6.25.0+,7.0.35+oder8+) - Die Kanal-Download-Formatierung ist nicht Vollständiges Zip nur
- 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:
- Gehe zu der Webanwendung
- Klicke auf deine App
- Klicke auf die Anzahl der Pakete in der Statistikleiste.
- Wähle das letzte Paket
- Überprüfe die
Delta filesZeile. Es zeigt keine Delta-Dateien an, wenn das Paket als vollständiger Zip hochgeladen wurde.
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-Uploads korrekt verarbeitet werden und dass Geräte die Delta-Dateien empfangen.
Das ist alles! Die --delta Dieses Flaggtell Capgo die einzelnen Delta-Dateien hochzuladen, die für die Delta-Updates benötigt werden.
Hinweis: Sie müssen --delta Jedes Mal, wenn Sie eine neue Version hochladen, die Sie als Delta-Update liefern möchten. Wenn Sie das Flag nicht verwenden, wird Capgo die gesamte JS-Bundle als einzelnes Datei hochladen und Geräte werden die ganze Bundle herunterladen, auch wenn nur ein kleiner Teil geändert wurde.
Fortsetzung von Delta-Updates
Sektion mit dem Titel ‘Fortsetzung von Delta-Updates’Wenn Sie Live Updates verwenden Delta-Updates um die live update Lieferung zu planen, verbinden Sie es mit um Capgo-Lieferung zu planen, verbinden Sie es mit für den Produktworkflow in Capgo Live Updates, Overview für die Implementierungsdetails in Übersicht Funktionen für die Implementierungsdetails in Funktionen Aktualisierungsverhalten für die Implementierungsdetails in Aktualisierungsverhalten, und Aktualisierungstypen für die Implementierungsdetails in Update-Typen.