Zum Hauptinhalt springen
Tutorials

So funktionieren Versionen in Capgo

Verstehe, wie Capgo Versionen in deiner Capacitor App verwalten, und hol das Beste raus. Lerne, was Major, Minor und Patch bedeuten.

So funktionieren Versionen in Capgo

Capgo nutzt zwei Hauptvariablen zur Versionsverwaltung in deiner Capacitor App:

  • Native Version
  • JavaScript-Versionen
Capacitor Update-System

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.json Datei 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 native Bedingung angewendet.
  • Wenn die native Bundle-Version MAJOR niedriger ist als die Capgo Version, wird das Disable auto upgrade above major Bedingung 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.

Live-Updates für Capacitor-Apps

Wenn ein Bug im Web-Layer live ist, liefere den Fix über Capgo aus, statt Tage auf die App-Store-Freigabe zu warten. Nutzer bekommen das Update im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Neues aus unserem Blog

Capgo gibt dir die besten Insights, um eine wirklich professionelle Mobile App zu erstellen.