Capgo utilise 2 variables principales pour gérer les versions dans votre application Capacitor:
- Versions natives
- Versions JavaScript
Toutes les versions sont décidées côté serveur par Capgo.
Système de versionnement
Pour gérer la version Capgo, utilisez le système SemVer, en savoir plus ici ici.
Versions
Où Capgo trouver la version à comparer
Vous pouvez surcharger ce comportement en définissant la clé de version dans
capacitor.config.jsonfichier docs ici La version native sera ignorée pour tous les plateformes.
IOS
Dans 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éfini dans votre Info.plist fichier.
Android
Dans Android, la variable est définie dans votre projet ici android/app/build.gradle sous la clé defaultConfig.versionName
JavaScript ( Capgo version du bundle )
Dans JavaScript, la variable peut être définie dans votre package.json sous la clé version
Sinon, vous devez le fournir dans la commande de téléchargement.
Comportement par défaut
Voici comment le canal Capgo se comportera si vous n'avez pas modifié les paramètres.
Ce comportement sera basé sur le canal unique que vous avez défini par défaut.
Lors d'une installation fraîche de votre application Capacitor
Lorsque l'utilisateur télécharge votre application Ionic pour la première fois et ouvre l'application, elle contacte le serveur Capgo.
Actuellement, 4 résultats peuvent se produire :
- La version du bundle natif (1.2.3) est inférieure à la version du bundle Capgo (1.2.4), Capgo envoie le bundle à l'utilisateur.
- La version du bundle natif (1.2.3) est égale à la version du bundle Capgo (1.2.3), Capgo envoie « pas besoin de mettre à jour ».
- La version du bundle natif (1.2.4) est supérieure à la version du bundle Capgo (1.2.3), Capgo envoie « pas besoin de mettre à jour ».
- La version du bundle natif (1.2.3) est MAJOR inférieure à la version du bundle Capgo (2.2.3), Capgo envoie « pas besoin de mettre à jour ».
Autres paramètres
Désactiver la mise à niveau automatique sous native
Si vous modifiez cette configuration en faux, Capgo considérera toujours la source la plus fiable de la version.
- 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 de mise à niveau automatique
Il existe plusieurs stratégies que vous pouvez choisir. Vous pouvez en savoir plus sur celles-ci ici
Version du bundle JavaScript
La version du bundle JavaScript est celle que vous envoyez lors de la 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 à partir de votre package.json fichier (dans la clé de version).
Après que votre application Ionic a installé une version de Capgo, c'est cette version qui sera comparée pour :
- La version de leur bundle JavaScript (1.2.3) est inférieure à la version de bundle Capgo (1.2.4), Capgo envoie leur bundle à l'utilisateur.
Avec certaines conditions de garde :
- Si la version de bundle native est supérieure à la version Capgo, la
Disable auto downgrade under nativecondition est appliquée. - Si la version de bundle native est MAJOR inférieure à la version Capgo, la
Disable auto upgrade above majorcondition est appliquée.
Mise à jour de l'App Store
Lorsque vous publiez votre application Capacitor JS sur l'App Store, ce qui se passe est simple.
Votre utilisateur obtiendra la nouvelle version depuis l'App Store et supprimera toutes les mises à jour locales dans leur application par défaut.
Si vous souhaitez modifier ce comportement, vous devez configurer la mise à jour de l'application resetWhenUpdate en savoir plus ici
Cela ne peut être modifié que du côté de l'application, et non depuis le cloud comme les autres paramètres.
Autres paramètres
Après cela, vous pouvez avoir ci-dessus quelques paramètres spécifiques liés à l'ID de l'appareil.
Dans Capgo, vous pouvez décider de contourner le comportement pour chaque ID de l'appareil.
Vous pouvez lier un ID de l'appareil à :
- une version de bundle spécifique
- un canal spécifique
Cela contournera tous les paramètres effectués ci-dessus.
En savoir plus à ce sujet dans l'article ci-dessous.