Von V3 zu V4
Warum dieses Upgrade
Nach vielen Gesprächen mit Ihnen in der Discord-Community habe ich festgestellt, dass der manuelle Modus zu manuell und nicht sicher in der Anwendung war. Zum Beispiel war ein automatisches Zurücksetzen nicht möglich, sodass bei einem fehlgeschlagenen Update der Benutzer die App entfernen und neu installieren musste, was eine sehr schlechte Nutzererfahrung darstellt.
In der Zwischenzeit habe ich dies als Gelegenheit genutzt, Ihnen mehr Freiheit zu geben und den gesamten schlechten Code zu entfernen.
Installation
npm i @capgo/capacitor-updater@4
Auto-Update Cloud
Wenn Sie das Grundbeispiel in Ihrer App verwenden, können Sie sicher auf die neue Version migrieren. Viel Spaß!
Auto-Update Self-Hosted
Für Sie ist es weiterhin einfach, die Änderungen sind:
- Der Name der Einstellung von
autoUpdateUrl
zuupdateUrl
- Die Endpoint-Methode wurde von
GET
zuPOST
geändert
Manuelle Benutzer
Für Sie ist dies die bedeutendste Änderung, aber zum Besten! Sie erhalten viele Verbesserungen, lesen Sie sorgfältig.
Änderungen
autoUpdateUrl
wird zuupdateUrl
, da diese Einstellung jetzt auch im manuellen Modus verwendet werden kann- Löschung von
cancelDelay
unddelayUpdate
zugunsten vonsetDelay
- Kein
versionName
mehr in set - Änderung des
version
-Schlüssels, der in den meisten Funktionen zum ObjektBundleInfo
zurückgegeben wurde
interface BundleInfo { id: string; version: string; downloaded: string; status: 'success' | 'error' | 'pending' | 'downloading'}
- Umbenennung irreführender Namen (auch wenn die Erklärung nicht klar sein kann, ist die Verwendung der neuen Namen einfach zu verstehen):
- was als
version
bezeichnet wurde, wird jetzt alsbundle
bezeichnet id
bezieht sich auf die alteversion
, die eine zufällige Zeichenfolge von 10 Zeichen war, dieseid
ist die einzige vertrauenswürdige und eindeutige Möglichkeit, auf Ihre Bundles zuzugreifen, Beispiel7Dfcd2RedN
version
bezieht sich jetzt auf denversionName
, den Sie für ein Bundle wählen, Beispiel100
- was als
updateUrl
wechselt vonget
zupost
, da benutzerdefinierte Header für einige von Ihnen ein Problem darstellten und post logischer ist, alle vorherigen Header gehen in den Body und das Präfixcap_
verschwindetversionName
-Methode wird gelöscht, zugunsten vongetId
- list gibt jetzt eine Liste von
BundleInfo
zurück - Umbenennung von
getId
ingetDeviceId
autoUpdate
wird standardmäßig auf true gesetzt, wenn Sie den manuellen Modus verwenden, setzen Sie es auf false
Neuheiten
- Methode
getLatest
, diese Methode ermöglicht es Ihnen, von Ihrem mitupdateUrl
eingestellten Server die letzte verfügbare Version zu erhalten - Methode
setDelay
, die{kind: "background" | "kill" | "nativeVersion" | "date", value?: string}
als Argument nimmt, um Verzögerungen für verschiedene Modi einzustellen - Methode
next
, um die Version beim nächsten Hintergrundprozess festzulegen, im Gegensatz zuset
, das es sofort ausführt - Methode
isAutoUpdateEnabled
, um zu erfahren, ob Sie sich im Auto-Update-Kontext befinden - Event
downloadComplete
, wenn der Download 100% erreicht - Hinzugefügtes Pflichtfeld
version
in der Download-Methode notifyAppReady
wird auch im manuellen Modus obligatorisch, wenn nicht nach 10 Sekunden aufgerufen, kehrt die App zur vorherigen Version zurück
Mitwirkende
@lincolnthree Vielen Dank für den Start dieser Arbeit, es wäre unmöglich gewesen, dieses Update ohne Sie zum Laufen zu bringen