Mise à jour vos applications __CAPGO_KEEP_0__ de manière fluide à l'aide de l'__CAPGO_KEEP_1__-updater
Bienvenue

Mise à jour vos applications Capacitor de manière fluide à l'aide de l'Capacitor-moteur de mise à jour

Bonjour à la communauté Ionic Capacitor, aujourd'hui je vais vous aider à configurer l'Capacitor-moteur de mise à jour dans votre application. Ainsi, vous pourrez effectuer des mises à jour sans heurt.

Martin Donadieu

Martin Donadieu

Responsable de la stratégie de contenu

Mise à jour vos applications Capacitor de manière fluide à l'aide de l'Capacitor-moteur de mise à jour

Qu'est-ce que l'Capacitor-moteur de mise à jour ?

L'Capacitor-moteur de mise à jour, une technologie qui aide à la livraison de mises à jour et d'améliorations de l'application aux utilisateurs finaux instantanément.

Cela est particulièrement utile si vous souhaitez effectuer des corrections de bogues critiques et les livrer instantanément sans passer par les revues de l'App Store.

Vous pouvez le considérer comme une 'agilité web-like' de la mise à jour côté par côté dès qu'elles sont disponibles.

De plus, il fournit des retours en arrière si la mise à jour nouvelle fait crash l'application

Comment ça marche?

Capgo garde votre bundle JavaScript de l'application synchronisé avec le serveur Capgo, et chaque fois que l'utilisateur ouvre l'application, il vérifie avec le serveur Capgo si une mise à jour nouvelle est disponible pour le bundle. Et bien sûr, il est accompagné de tonnes de configurations incroyables qui peuvent vous aider à affiner l'expérience de votre utilisateur.

J'utilise Capgo dans tous mes projets que je construis. Cela me permet de consacrer moins de temps au processus de revue de l'App Store.

Vous pouvez en savoir plus ici.

Comprendre la versionnement sémantique avec Capgo

Capgo utilise la versionnement sémantique (semver) pour déterminer quand et comment les mises à jour devraient être appliquées à votre application. Cela garantit que vos utilisateurs ne reçoivent que des mises à jour compatibles et empêche les changements de rupture d'être déployés automatiquement.

La versionnement sémantique suit le format MAJOR.MINOR.PATCH:

  • MAJOR: Changements de rupture nécessitant une mise à jour native de l'App Store
  • MINOR: Nouvelles fonctionnalités compatibles avec les versions précédentes
  • PATCH: Corrections de bogues compatibles avec les versions précédentes

Par exemple, si votre application est à la version 1.0.0 et que vous souhaitez mettre à jour vers 1.0.1 (une mise à jour de patch), Capgo appliquera automatiquement cette mise à jour. Cependant, si vous souhaitez mettre à jour de 1.0.0 à 2.0.0 (une version majeure), cela nécessiterait une mise à jour native de l'app store, car cela implique des changements de rupture.

Capgo’s paramètres de canal vous permettent de configurer les types de mises à jour qui sont appliquées automatiquement :

  • Stratégie majeure: Permet toutes les mises à jour (utiliser avec prudence)
  • Stratégie mineure: Permet des mises à jour mineures et de maintenance uniquement
  • Stratégie de mise à jour de maintenance: Ne permet que des mises à jour de maintenance
  • Stratégie de métadonnées: Exige que les exigences de version minimale soient remplies

Vous pouvez tester comment différentes combinaisons de versions fonctionnent avec la logique de mise à jour de Capgo en utilisant notre outil de testeur Semver Outil de testeur Semver. 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 ?

Comme cela peut paraître séduisant, il y a quelques choses que nous devons garder à l'esprit. La première chose est que les mises à jour OTA. You may think that this isn’t really a big limitation because, in Capacitor JS, we write almost all code in JS CSS and HTML. While this may be true, there still are native modules that we install to our app. If a module changes your android or iOS directories, you can’t use OTA to update your app. That’s because these directories’ contents are used to compile Native binaries, which OTA can’t update. Even native app cannot update this part.

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

Configuration automatique de Capgo

Il est temps de vous inscrire et d'obtenir votre clé API pour télécharger votre première version ! Commencez par s'inscrire à un compte Capgo.

Une fois que vous êtes connecté à Capgo, vous aurez une page de démarrage

Page de démarrage

Suivez les étapes de la page de démarrage pour ajouter votre première application

Suivez les instructions de CLI

À partir d'une ligne de commande, directement dans le répertoire racine de votre application Capacitor, exécutez :

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

Si vous souhaitez le faire manuellement, vous pouvez suivre les étapes ci-dessous.

Configurer manuellement Capgo

Installer le plugin

Vous devriez finir avec ce code ajouté à votre application :

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

Et puis ajoutez à votre application ce code pour avertir le plugin natif que le bundle JS est en bon état (si vous ne faites pas cela, le plugin natif reverra à la version précédente) :

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

CapacitorUpdater.notifyAppReady()

Cela informera le plugin natif que l'installation a réussi.

Faites ensuite un npm run build && npx cap copy pour mettre à jour votre application.

Se connecter à Capgo CLOUD

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

npx @capgo/cli@latest login YOU_KEY

Ajoutez votre première application

Commencez par créer une application dans Capgo Cloud avec le CLI.

npx @capgo/cli@latest app add

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

Téléchargez votre première version

Exécutez la commande pour construire votre code et l'envoyer à 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 la construction est présente.

Vous pouvez même la tester avec mon application de sandbox mobile.

Définir le canal par défaut

Après avoir envoyé votre application à Capgo, vous devez configurer votre canal default pour permettre aux applications de recevoir des mises à jour de Capgo.

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

Recevoir une mise à jour en direct sur un appareil

Pour que votre application reçoive une mise à jour en direct depuis Deploy, vous devrez exécuter l'application sur un appareil ou un émulateur. La méthode la plus simple consiste à utiliser la commande suivante pour lancer votre application locale dans un émulateur ou un appareil connecté à votre ordinateur.

npx cap run [ios | android]

Ouvrez l'application, mettez-la en arrière-plan et ouvrez-la à nouveau, vous devriez voir dans les journaux que l'application a effectué la mise à jour.

Félicitations ! 🎉 Vous avez réussi à déployer votre première mise à jour en direct. C'est juste le début de ce que vous pouvez faire avec les mises à jour en direct. Pour en savoir plus, consultez la documentation complète sur les mises à jour en direct. Si vous avez besoin d'arrêter de recevoir les mises à jour locales, exécutez cette commande.

Réalisé par npx @capgo/cli@latest channel set

Mises à jour en direct pour les applications Capacitor

Lorsqu'un bug de la couche web est en direct, expédiez la correction par Capgo au lieu de attendre des jours pour l'approbation de la boutique d'applications. Les utilisateurs reçoivent la mise à jour en arrière-plan tandis que les changements natifs restent dans le chemin de revue normal.

Démarrer maintenant

Dernières actualités de notre Blog

Capgo vous donne les meilleures informations dont vous avez besoin pour créer une application mobile vraiment professionnelle.