Aller au contenu principal
Tutoriel

Mettez à jour vos apps Capacitor sans friction grâce à Capacitor-updater

Bonjour à la communauté Capacitor Ionic, aujourd'hui je vais vous aider à configurer Capacitor-updater dans votre app pour des releases fluides.

Mettez à jour vos apps Capacitor en douceur avec Capacitor-updater Capgo illustration du blog

Qu'est-ce que Capacitor-updater ?

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

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.

Voyez-y l'agilité du web : charger des mises à jour en sideload dès qu'elles sont disponibles.

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 du bundle est disponible. Et bien sûr, il embarque de nombreuses options de configuration 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:

  • MAJEUR: Changements incompatibles nécessitant une release native sur les stores
  • MINEURE : nouvelles fonctionnalités rétrocompatibles
  • PATCH : correctifs de bugs rétrocompatibles

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 souhaitez passer de 1.0.0 vers 2.0.0 (une version majeure), cela nécessiterait une release sur les stores, car cela indique des changements cassants.

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

  • Stratégie majeure: Allows all updates (use with caution)
  • Stratégie mineure: Allows minor and patch updates only
  • Stratégie de correctif: N'autorise que les mises à jour de correctif
  • Stratégie de métadonnées: Exige que les exigences de version minimale soient remplies

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

Y a-t-il des limitations ?

Aussi séduisant que cela puisse paraître, il y a quelques points à garder à l'esprit. La première chose, c'est que les mises à jour OTA ne fonctionnent qu'avec des bundles web. Vous pourriez penser que ce n'est pas vraiment une grosse limitation, car dans Capacitor JS, nous écrivons presque tout le code en JS, CSS et HTML. Même si c'est vrai, il reste des modules natifs que nous installons dans notre application. Si un module modifie vos répertoires android ou iOS, vous ne pouvez pas utiliser OTA pour mettre à jour votre application. C'est parce que le contenu de ces répertoires sert à compiler les binaires natifs, que OTA ne peut pas mettre à jour. Même une application native ne peut pas mettre à jour cette partie.

Mais vous pouvez configurer votre CI/CD pour gérer cette partie ; j'ai fait 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 les indications de 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 dans le processus de configuration de votre application 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 vous retrouver avec 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 indiquer au plugin natif que le bundle JS est fonctionnel (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 faites un npm run build && npx cap copy pour mettre à jour votre application.

Connectez-vous à Capgo Cloud

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

npx @capgo/cli@latest login YOU_KEY

Ajouter votre première app

Commençons par créer une application dans le cloud Capgo avec 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.

Envoyer votre première version

Lancez la commande pour compiler votre code et l'envoyer sur 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 dans 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 que vous avez envoyé votre application à Capgo, vous devez définir votre canal default to let apps receive updates from Capgo.

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

Recevoir un Live Update sur un appareil

Pour que votre application reçoive un live update depuis 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 en local 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 le guide complet Docs Live Updates.

Si vous devez arrêter de recevoir la mise à jour en local, exécutez cette commande npx @capgo/cli@latest channel set

Continuez avec la mise à jour fluide de vos apps Capacitor via Capacitor-updater

Si vous utilisez Mettez à jour vos apps Capacitor sans friction grâce à Capacitor-updater pour planifier la migration et les opérations d'entreprise, connectez-l’à Capgo Entreprise 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, Conseil Capgo pour le workflow produit dans Capgo Consulting, et Support Premium Capgo pour le workflow produit dans Capgo Premium Support.

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.