Capgo utilise 2 variables principales pour gérer les versions dans votre Capacitor application :
- Version native
- Versions JavaScript
Toutes les options de version sont décidées côté serveur par Capgo.
Système de versionnage
Pour gérer la version Capgo utilisez le système SemVer. Lisez la Spécification SemVer ou vérifiez la compatibilité d'Capgo avec l' Évaluateur Semver.
Versions
Où Capgo trouve la version à comparer
Vous pouvez contourner ce comportement en définissant la clé 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 était 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 ( Capgo version du bundle )
Sur JavaScript, la variable peut être définie dans votre package.json sous la clé version
Sinon, vous devez la 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 sorties peuvent se produire :
- La version du paquet natif (1.2.3) est inférieure à la version du paquet Capgo (1.2.4), Capgo envoie le paquet à l'utilisateur.
- La version du paquet natif (1.2.3) est égale à la version du paquet Capgo (1.2.3), Capgo envoie « pas besoin de mettre à jour ».
- La version du paquet natif (1.2.4) est supérieure à la version du paquet Capgo (1.2.3), Capgo envoie « pas besoin de mettre à jour ».
- La version du paquet natif (1.2.3) est MAJOR inférieure à la version du paquet 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 false, Capgo considérera toujours comme la source fiable de la version. Ensuite, le comportement devient :
- 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 dont vous pouvez choisir. Vous pouvez en savoir plus sur cela ici
La version du bundle JavaScript
La version du bundle JavaScript est celle que vous envoyez lors de l'exécution 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 ait installé une version de Capgo, c'est cette version qui sera comparée pour :
- Leur version du bundle JavaScript (1.2.3) est inférieure à la version de Capgo du bundle (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 de Capgo, la
Disable auto downgrade under nativecondition est appliquée. - Si la version du bundle natif est MAJOR inférieure à la version de Capgo, la
Disable auto upgrade above majorLorsque vous appliquez la condition.
Mise à jour de l'App Store
Lorsque vous publiez votre Capacitor application JS sur l'App Store, ce qui se passe est simple.
Votre utilisateur recevra 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 en forme 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
Après cela, vous pouvez avoir des comportements spécifiques liés 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 toutes les paramètres effectués ci-dessus.
En savoir plus à ce sujet dans l'article ci-dessous.
Continuez de la section sur la façon dont fonctionnent les versions dans Capgo
Si vous utilisez La façon dont fonctionnent les versions dans Capgo pour planifier le travail de plugin natif, connectez-le avec Capgo Répertoire des plugins pour le flux de travail du produit dans Capgo Répertoire des plugins, Capacitor Plugins par Capgo pour les détails d'implémentation dans Capacitor Plugins par Capgo Ajout ou Mise à Jour de Plugins pour le détail d'implémentation dans Ajout ou Mise à Jour de Plugins, Alternatives de Plugins Entreprise Ionic pour le flux de travail du produit dans Alternatives de Plugins Entreprise Ionic, et Capgo Builds Natives pour le flux de travail du produit dans Capgo Builds Natives.