Capgo nutzt zwei Hauptvariablen zur Versionsverwaltung in deiner Capacitor App:
- Native Version
- JavaScript-Versionen
Alle Versionsentscheidungen werden serverseitig durch Capgo getroffen.
Versionierungssystem
Um Version Capgo zu verwalten, nutze das SemVer-System. Lies die SemVer-Spezifikation oder prüfe die Update-Kompatibilität von Capgo mit dem Semver-Tester.
Versionen
Wo Capgo die zu vergleichende Version findet
Du kannst dieses Verhalten überschreiben, indem du den Version-Key in der
capacitor.config.jsonDatei Docs hier Die native Version wird für alle Plattformen ignoriert.
iOS
In iOS wird die Variable hier in deinem Projekt gesetzt ios/App/App/Info.plist unter dem KeyCFBundleShortVersionString oder ios/App/App.xcodeproj/project.pbxproj unter dem Key MARKETING_VERSION falls MARKETING_VERSION wurde in deinem Info.plist Datei.
Android
In Android wird die Variable hier in deinem Projekt gesetzt android/app/build.gradle unter dem Key defaultConfig.versionName
JavaScript ( Capgo Bundle-Version )
In JavaScript kann die var in deinem Code package.json unter dem Key version
Ansonsten musst du sie im Upload-Befehl angeben.
Standardverhalten
So verhält sich der Capgo Channel, wenn du keine Einstellungen geändert hast.
Dieses Verhalten basiert auf dem eindeutigen Channel, den du als Standard festgelegt hast.
Bei einer Neuinstallation deiner Capacitor App
Wenn ein User deine Ionic App zum ersten Mal heruntergeladen hat und sie öffnet, kontaktiert sie den Capgo Server.
Aktuell sind 4 Ergebnisse möglich:
- Die native Bundle-Version (1.2.3) ist niedriger als die Capgo Bundle-Version (1.2.4), Capgo sendet das Bundle an den User.
- Die native Bundle-Version (1.2.3) ist gleich der Capgo Bundle-Version (1.2.3), Capgo meldet „kein Update nötig“.
- Die native Bundle-Version (1.2.4) ist höher als die Capgo Bundle-Version (1.2.3), Capgo meldet „kein Update nötig“.
- Die native Bundle-Version (1.2.3) ist deutlich niedriger als die Capgo Bundle-Version (2.2.3), daher sendet Capgo „kein Update nötig“.
Weitere Einstellungen
Auto-Downgrade im Native-Modus deaktivieren
Wenn du diese Einstellung auf false setzt, betrachtet Capgo diese immer als vertrauenswürdige Quelle für die Version. Das Verhalten ändert sich dann wie folgt:
- Die native Version (1.2.4) ist höher als die Capgo Version (1.2.3)
Capgo sendet seine Version an den User.
Auto-Upgrade-Strategie deaktivieren
Es gibt verschiedene Strategien, aus denen du wählen kannst. Mehr dazu erfährst du hier hier
JavaScript Bundle-Version
Die JavaScript Bundle-Version ist diejenige, die du beim Ausführen von sendest npx @capgo/cli@latest bundle upload --channel production
Falls du die Option nicht genutzt hast --bundle 1.2.3, Capgo holt die Bundle-Version aus deiner package.json Datei (im version-Key).
Sobald Ihre Ionic-App eine Version von Capgo installiert hat, wird diese Version für folgende Vergleiche herangezogen:
- Die JavaScript-Bundle-Version (1.2.3) ist niedriger als die Capgo Bundle-Version (1.2.4), Capgo sendet sein Bundle an den User.
Mit einigen Guard-Conditions:
- Wenn die native Bundle-Version höher ist als die Capgo Version, wird die
Disable auto downgrade under nativeBedingung angewendet. - Wenn die native Bundle-Version MAJOR niedriger ist als die Capgo Version, wird das
Disable auto upgrade above majorBedingung angewendet.
App-Store-Update
Wenn du deine Capacitor JS-App im App Store veröffentlichst, ist der Ablauf einfach.
Dein User erhält die neue Version aus dem Store und entfernt standardmäßig alle lokalen Updates in seiner App.
Um dieses Verhalten zu ändern, musst du die Einstellung setzen resetWhenUpdate mehr dazu lesen hier
Dies kann nur auf App-Seite geändert werden, nicht über die Cloud wie andere Einstellungen.
Weitere Einstellungen
Nach all diesem Verhalten können Sie darüber hinaus spezifische Einstellungen festlegen, die an die deviceID gebunden sind.
In Capgo kannst du entscheiden, das Verhalten für jede deviceID zu überschreiben.
Du kannst eine deviceID verknüpfen mit:
- einer bestimmten Bundle-Version
- einem bestimmten Channel
Dies umgeht alle oben genannten Einstellungen.
Erfahre mehr dazu im untenstehenden Artikel.
Weiter zu: So funktionieren Versionen in Capgo
Wenn du es nutzt So funktionieren Versionen in Capgo Um die Arbeit an nativen Plugins zu planen, verbinde sie mit Capgo Plugin-Verzeichnis für den Produkt-Workflow im Capgo Plugin-Verzeichnis, Capacitor Plugins von Capgo für das Implementierungsdetail in Capacitor Plugins von Capgo, Plugins hinzufügen oder aktualisieren für die Implementierungsdetails unter „Plugins hinzufügen oder aktualisieren“, Ionic Enterprise Plugin-Alternativen für den Produkt-Workflow in Ionic Enterprise Plugin-Alternativen und Capgo Native Builds optimieren für den Produkt-Workflow in Capgo Native Builds.