Capgo utilise 2 variables principales pour gérer les versions de votre application Capacitor :
- Version native
- Versions JavaScript
Tous les choix de version sont décidés côté serveur par Capgo.
Système de versionnage
Pour gérer la version Capgo, utilisez le système SemVer. Consultez la spécification SemVer ou vérifiez la compatibilité de la mise à jour Capgo avec le Testeur Semver.
Versions
Où Capgo trouve la version à comparer
Vous pouvez contourner ce comportement en définissant la clé version dans
capacitor.config.jsonfichier la doc ici La version native sera ignorée pour toutes les plateformes.
iOS
Sur iOS, la variable est définie dans votre projet ici ios/App/App/Info.plist sous la cléCFBundleShortVersionString ou ios/App/App.xcodeproj/project.pbxproj sous la clé MARKETING_VERSION si MARKETING_VERSION a été définie dans votre Info.plist fichier.
Android
Sur Android, la variable est définie dans votre projet ici android/app/build.gradle sous la clé defaultConfig.versionName
JavaScript ( version du bundle Capgo )
En JavaScript, la variable peut être définie dans votre package.json sous la clé version
Sinon, vous devez la fournir dans la commande d'upload.
Comportement par défaut
Voici comment le canal Capgo se comportera si vous n'avez modifié aucun paramètre.
Ce comportement sera basé sur l'unique canal que vous avez défini par défaut.
Lors d'une nouvelle installation de votre application Capacitor
Lorsqu'un utilisateur télécharge votre application Ionic pour la première fois et l'ouvre, celle-ci contacte le serveur Capgo.
Actuellement, 4 résultats sont possibles :
- La version du bundle natif (1.2.3) est inférieure à la version du bundle Capgo (1.2.4), Capgo envoie son bundle à l'utilisateur.
- La version du bundle natif (1.2.3) est égale à la version du bundle Capgo (1.2.3), Capgo renvoie « aucune mise à jour nécessaire ».
- La version du bundle natif (1.2.4) est supérieure à la version du bundle Capgo (1.2.3), Capgo renvoie « aucune mise à jour nécessaire ».
- La version du bundle natif (1.2.3) est MAJORement inférieure à la version du bundle Capgo (2.2.3), donc Capgo envoie « no need to update ».
Autres paramètres
Désactiver l'auto-downgrade au niveau natif
Si vous réglez ce paramètre sur false, Capgo sera considéré comme la seule source de version fiable. Le comportement devient alors :
- La version native (1.2.4) est supérieure à la version Capgo (1.2.3)
Capgo envoie sa version à l'utilisateur.
Désactiver la stratégie d'auto-upgrade
Plusieurs stratégies s'offrent à vous. Vous pouvez en apprendre davantage ici ici
Version du bundle JavaScript
La version du bundle JavaScript est celle que vous envoyez lors de npx @capgo/cli@latest bundle upload --channel production
Si vous n'avez pas utilisé l'option --bundle 1.2.3, Capgo récupérera la version du bundle depuis votre package.json fichier (dans la clé version).
Une fois que votre application Ionic a installé une version via Capgo, c'est cette version qui sera comparée pour :
- Leur version du bundle JS (1.2.3) est inférieure à la version du bundle Capgo (1.2.4), Capgo envoie son bundle à l'utilisateur.
Avec certaines conditions de garde :
- Si la version du bundle natif est supérieure à la version Capgo, la
Disable auto downgrade under nativecondition est appliquée. - Si la version du bundle natif est MAJOR inférieure à la version Capgo, le
Disable auto upgrade above majorcondition est appliquée.
mise à jour du store
Lorsque vous publiez votre application JS Capacitor sur l'App Store, le processus est simple.
Votre utilisateur téléchargera la nouvelle version depuis le store et supprimera par défaut toutes les mises à jour locales de son application.
Si vous voulez modifier ce comportement, vous devez définir ce paramètre resetWhenUpdate en savoir plus ici
Cela ne peut être modifié que côté application, et non depuis le cloud comme les autres paramètres.
Autres paramètres
En complément de ce comportement, vous pouvez définir des règles spécifiques liées au deviceID.
Dans Capgo, vous pouvez décider de surcharger le comportement pour chaque deviceID.
Vous pouvez lier un deviceID à :
- une version de bundle spécifique
- un canal spécifique
Cela contournera tous les paramètres définis ci-dessus.
En savoir plus dans l'article ci-dessous.
Continuer avec le fonctionnement des versions dans Capgo
Si vous utilisez Comment fonctionnent les versions dans Capgo pour planifier le travail sur les plugins natifs, connectez-l’à Capgo Répertoire des plugins pour le workflow produit dans Capgo Plugin Directory, Plugins Capacitor par Capgo pour les détails d'implémentation dans Plugins Capacitor par Capgo, Ajouter ou mettre à jour des plugins pour les détails d'implémentation dans Adding or Updating Plugins, Alternatives aux plugins Ionic Enterprise pour le workflow produit dans les alternatives aux plugins Ionic Enterprise, et Capgo Native Build pour le workflow produit dans Capgo Native Builds.