Aller au contenu principal
Tutoriel

Comment fonctionnent les versions dans Capgo

Comprenez comment Capgo gère les versions dans votre application Capacitor, et utilisez-l’au mieux. Apprenez la signification de major, minor et patch.

Comment fonctionnent les versions dans Capgo

Capgo utilise 2 variables principales pour gérer les versions de votre application Capacitor :

  • Version native
  • Versions JavaScript
Système de mise à jour Capacitor

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.json fichier 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 native condition est appliquée.
  • Si la version du bundle natif est MAJOR inférieure à la version Capgo, le Disable auto upgrade above major condition 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.

Live updates pour les apps Capacitor

Lorsqu'un bug de la couche web est en ligne, déployez le correctif via Capgo au lieu d'attendre des jours l'approbation des stores. Les utilisateurs reçoivent la mise à jour en arrière-plan, tandis que les changements natifs suivent le circuit de validation habituel.

Les derniers articles du blog

Capgo vous offre les meilleures informations pour créer une application mobile vraiment professionnelle.