Aller au contenu principal
Tutoriel

Mettez à jour vos apps Capacitor en toute fluidité avec Capacitor-updater

Bonjour la communauté Capacitor Ionic ! Aujourd'hui, je vais vous aider à configurer Capacitor-updater dans votre app pour réaliser des releases sans friction.

Mettez à jour vos apps Capacitor en toute fluidité avec Capacitor-updater

Qu'est-ce que Capacitor-updater ?

Capacitor-updater est une technologie qui permet de livrer instantanément des mises à jour et des améliorations aux utilisateurs finaux.

C'est particulièrement utile si vous souhaitez corriger des bugs critiques et déployer instantanément sans passer par la revue de l'App Store.

Considérez cela comme l'agilité du web : déployez des mises à jour dès qu'elles sont prêtes.

De plus, il permet d'effectuer des rollbacks si la nouvelle mise à jour fait planter l'app

Comment ça marche ?

Capgo synchronise le bundle JS de votre app avec le serveur Capgo. À chaque ouverture de l'app, elle vérifie auprès du serveur Capgo si une nouvelle mise à jour est disponible pour le bundle. Et bien sûr, il inclut de nombreuses configurations pour affiner l'expérience de vos utilisateurs.

J'utilise Capgo dans tous les projets que je compile. Cela me permet de passer moins de temps sur le processus de revue de l'App Store.

Vous pouvez en savoir plus à ce sujet ici.

Comprendre le versionnage sémantique avec Capgo

Capgo utilise le versionnage sémantique (semver) pour déterminer quand et comment les mises à jour doivent être appliquées à votre app. Cela garantit que vos utilisateurs ne reçoivent que des mises à jour compatibles et empêche le déploiement automatique de changements incompatibles.

Le versionnage sémantique suit le format MAJOR.MINOR.PATCH:

  • MAJOR: Changements majeurs nécessitant une nouvelle release sur les stores natifs
  • MINOR: Nouvelles fonctionnalités avec rétrocompatibilité
  • PATCH: Corrections de bugs avec rétrocompatibilité

Par exemple, si votre application est en version 1.0.0 et que vous souhaitez passer à 1.0.1 (un patch), Capgo appliquera automatiquement cette mise à jour. En revanche, si vous voulez passer de 1.0.0 à 2.0.0 (une version majeure), cela nécessitera une nouvelle release sur les stores car cela implique des changements majeurs.

Les paramètres de canal de Capgo vous permettent de configurer les types de mises à jour appliquées automatiquement :

  • Stratégie Major: Allows all updates (use with caution)
  • Stratégie Minor: Allows minor and patch updates only
  • Stratégie de patch: Autorise uniquement les mises à jour patch
  • Stratégie de métadonnées: Nécessite de respecter les exigences de version minimale

You can test how different version combinations work with Capgo’s update logic using our outil Semver TesterCet outil vous aide à comprendre exactement quand les mises à jour seront appliquées selon la configuration de votre canal.

Y a-t-il des limitations ?

Même si cela semble idéal, il y a quelques points à garder à l'esprit. La première chose est que les mises à jour OTA ne fonctionnent qu'avec les bundles web. Vous pourriez penser que ce n'est pas une limitation majeure car, dans le JS de Capacitor, nous écrivons presque tout le code en JS, CSS et HTML. Bien que ce soit vrai, il existe toujours des modules natifs que nous installons dans notre app. Si un module modifie vos répertoires Android ou iOS, vous ne pouvez pas utiliser l'OTA pour mettre à jour votre app. C'est parce que le contenu de ces répertoires est utilisé pour compiler des binaires natifs, que l'OTA ne peut pas mettre à jour. Même une app native ne peut pas mettre à jour cette partie.

Mais vous pouvez configurer votre CI/CD pour gérer cette partie ; j'ai créé un tutoriel pour vous montrer comment faire ici pour iOS.

Configuration auto de Capgo

Il est temps de vous inscrire et de récupérer votre clé API pour envoyer votre première version ! Commencez par créer un compte Capgo.

Une fois connecté à Capgo, vous accéderez à une page d'onboarding

Page d'onboarding

Suivez les étapes de la page d'onboarding pour ajouter votre première application.

Suivez le guide CLI

Depuis votre terminal, directement à la racine de votre application Capacitor, lancez :

npx @capgo/cli@latest init Pour installer Capgo dans votre application Capacitor, le CLI vous guidera tout au long du processus de configuration avec Capgo.

Si vous préférez le faire manuellement, vous pouvez suivre les étapes ci-dessous.

Configuration manuelle de Capgo

Installer le plugin

Vous devriez obtenir ce code ajouté à votre application :

npm i @capgo/capacitor-updater && npx cap sync Pour installer le plugin dans votre application Capacitor.

Ajoutez ensuite ce code à votre application pour notifier le plugin natif que le bundle JS est sain (si vous ne le faites pas, le plugin natif effectuera un rollback vers la version précédente) :

import { CapacitorUpdater } from '@capgo/capacitor-updater'

CapacitorUpdater.notifyAppReady()

Cela indiquera au plugin natif que l'installation a réussi.

Puis effectuez un npm run build && npx cap copy pour mettre à jour votre application.

Connexion au CLOUD Capgo

Tout d'abord, utilisez la all clé API présente sur votre compte pour vous connecter avec le CLI :

npx @capgo/cli@latest login YOU_KEY

Ajoutez votre première app

Commençons par créer une app dans le Cloud Capgo avec la CLI.

npx @capgo/cli@latest app add

Cette commande utilisera toutes les variables définies dans le fichier de config Capacitor pour créer l'app.

Envoyez votre première version

Lancez la commande pour build votre code et l'envoyer vers Capgo avec : npx @capgo/cli@latest bundle upload

Par défaut, le nom de la version sera celui de votre package.json fichier.

Vérifiez Capgo si le build est présent.

Vous pouvez même le tester avec mon app mobile sandbox.

Définir le canal par défaut

Une fois votre application envoyée vers Capgo, vous devez configurer votre canal default to let apps receive updates from Capgo.

npx @capgo/cli@latest channel set production -s default

Recevoir une Live Update sur un appareil

Pour que votre application reçoive une live update via Deploy, vous devrez lancer l'app sur un appareil ou un émulateur. Le plus simple est d'utiliser la commande suivante pour lancer votre app locale sur un émulateur ou un appareil connecté à votre ordinateur.

npx cap run [ios | android]

Ouvrez l'app, passez-l’en arrière-plan puis rouvrez-la ; vous devriez voir dans les logs que l'app a effectué la mise à jour.

Félicitations ! 🎉 Vous avez déployé avec succès votre première Live Update. Ce n'est que le début de ce que vous pouvez faire avec les Live Updates. Pour en savoir plus, consultez la documentation complète des Live Updates.

Si vous devez arrêter de recevoir les mises à jour en local, lancez cette commande npx @capgo/cli@latest channel set

Continuer : Mettez à jour vos apps Capacitor en toute fluidité avec Capacitor-updater

Si vous utilisez Mettez à jour vos apps Capacitor en toute fluidité avec Capacitor-updater pour planifier la migration et les opérations d'entreprise, connectez-l’à Capgo Enterprise pour le workflow produit dans Capgo Enterprise, Alternatives aux plugins Ionic Enterprise pour le workflow produit dans les alternatives aux plugins Ionic Enterprise, Alternatives à Capgo pour le workflow produit dans les alternatives à Capgo Consulting Capgo pour le workflow produit dans le Consulting Capgo, et Capgo Support Premium pour le workflow produit dans Capgo Premium Support.

Live updates pour les apps Capacitor

Quand un bug de la couche web est en production, 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 apporte les meilleures informations pour créer une application mobile vraiment professionnelle.