Capgo verwendet 2 Hauptvariablen, um Versionen in Ihrer Capacitor-Anwendung zu verwalten:
- Native Version
- JavaScript-Versionen
Alle Versionen werden von Capgo auf der Serverseite entschieden.
Versionsverwaltungssystem
Um die Version Capgo zu verwalten, verwenden Sie das SemVer-System. Lesen Sie die SemVer-Spezifikation oder überprüfen Sie die Capgo-Update-Kompatibilität mit dem Semver-Tester.
Versionen
Wo Capgo die Version findet, um sie zu vergleichen
Sie können diese Verhaltensweise überschreiben, indem Sie die Versions-Schlüssel in
capacitor.config.jsonDatei Dokumentation hier Die native Version wird für alle Plattformen ignoriert.
iOS
Bei iOS wird die Variable auf Ihrem Projekt hier ios/App/App/Info.plist unter dem SchlüsselCFBundleShortVersionString oder ios/App/App.xcodeproj/project.pbxproj unter dem Schlüssel MARKETING_VERSION wenn MARKETING_VERSION in Ihrer Info.plist Datei gesetzt wurde.
Android
In Android wird die Variable hier auf Ihrem Projekt gesetzt. android/app/build.gradle unter der Schlüssel defaultConfig.versionName
JavaScript ( Capgo Bundleversion )
In JavaScript kann die Variable in Ihrem package.json unter der Schlüssel version
Ansonsten müssen Sie sie im Upload-Befehl bereitstellen.
Standardverhalten
Dies ist die Art und Weise, wie sich der Capgo-Kanal verhält, wenn Sie keine Einstellungen geändert haben.
Dieses Verhalten wird auf der einzigartigen Standardkanal basieren, die Sie gesetzt haben.
Bei der frischen Installation Ihrer Capacitor-App
Wenn der Benutzer Ihre Ionic-App zum ersten Mal herunterlädt und die App öffnet, kontaktiert sie den Capgo-Server.
Aktuell können 4 Ausgänge auftreten:
- Die native Bundle-Version (1.2.3) ist niedriger als die Capgo Bundle-Version (1.2.4), Capgo sendet die Bundle an den Benutzer.
- Die native Bundle-Version (1.2.3) ist gleich der Capgo Bundle-Version (1.2.3), Capgo sendet “keine Aktualisierung erforderlich”.
- Die native Bundle-Version (1.2.4) ist höher als die Capgo Bundle-Version (1.2.3), Capgo sendet “keine Aktualisierung erforderlich”.
- Die native Bundle-Version (1.2.3) ist MAJOR niedriger als die Capgo Bundle-Version (2.2.3), Capgo sendet “keine Aktualisierung erforderlich”.
Weitere Einstellungen
Unter native deaktivieren Sie die automatische Downgrade
Wenn Sie diese Einstellung auf false ändern, wird Capgo immer als vertrauenswürdige Quelle der Version angesehen. Dann wird das Verhalten wie folgt sein :
- Die native Version (1.2.4) ist höher als die Capgo Version (1.2.3)
Capgo sendet seine Version an den Benutzer.
Deaktivieren Sie die Auto-Upgrade-Strategie
Es gibt einige Strategien, die Sie auswählen können. Sie können mehr darüber erfahren hier
JavaScript-Bundle-Version
Die JavaScript-Bundle-Version ist die, die du sendest, wenn du das machst npx @capgo/cli@latest bundle upload --channel production
Wenn du die Option nicht verwendet hast --bundle 1.2.3, Capgo wird die Bundle-Version aus deinem package.json Datei (in der Version-Key).
Nachdem Ihre Ionic-App eine Version von Capgo installiert hat, wird diese Version für:
- Ihrer JavaScript-Bundle-Version (1.2.3) ist niedriger als Capgo Bundle-Version (1.2.4), Capgo sendet seinen Bundle an den Benutzer.
Mit einigen Wächterbedingungen:
- Wenn die native Bundle-Version höher ist als Capgo Version, wird die
Disable auto downgrade under nativeBedingung angewendet. - Wenn die native Bundle-Version MAJOR niedriger ist als Capgo Version, wird
Disable auto upgrade above majorDie Bedingung wird angewendet.
App Store-Update
Wenn Sie Ihre Capacitor JS-Anwendung im App Store veröffentlichen, passiert Folgendes:
Ihr Benutzer erhält die neue Version aus dem Store und entfernt alle lokalen Updates in der App standardmäßig.
Wenn Sie dieses Verhalten ändern möchten, müssen Sie die Einstellung resetWhenUpdate mehr darüber lesen hier
Dies kann nur auf der App-Seite geändert werden, nicht wie andere Einstellungen vom Cloud.
Andere Einstellungen
Nachdem diese Verhaltensweise angewendet wurde, können Sie oben noch spezifische Einstellungen wie z.B. für das Geräte-ID vergeben.
In Capgo können Sie die Verhaltensweise für jede Geräte-ID überschreiben.
Sie können eine Geräte-ID mit:
- eine bestimmte Bundle-Version
- eine bestimmte Kanal
Dies wird alle oben durchgeführten Einstellungen umgehen.
Mehr darüber erfahren Sie in dem folgenden Artikel.
Bleiben Sie bei How version work in Capgo
Wenn Sie native Plugin-Arbeit planen, verbinden Sie es mit How version work in Capgo __CAPGO_KEEP_0__ Plugin-Verzeichnis für den Produktworkflow in Capgo Plugin-Verzeichnis, Capgo Plugins von __CAPGO_KEEP_1__ für die Implementierungsdetails in Capacitor Plugins von Capgo for the implementation detail in Capacitor Plugins by Capgo, Hinzufügen oder Aktualisieren von Plugins für die Implementierungsdetails in Hinzufügen oder Aktualisieren von Plugins, Ionic Enterprise Plugin Alternativen für den Produktworkflow in Ionic Enterprise Plugin Alternativen, und Capgo Native Builds für den Produktworkflow in Capgo Native Builds.