Allez directement au contenu principal
Mises à jour de production

Obtenez chaque utilisateur sur la dernière correction

Charger un nouveau bundle web à partir de CLI ou CI. Les appareils téléchargent en arrière-plan et l'exécutent la prochaine fois que l'application revient en avant-plan. Roulez-l’en pourcentage, observez-le dans Observe, et revenez en arrière si cela se comporte mal.

Pas de carte de crédit requise
Mise en roue automatique intégrée
Mises à jour de la couche web

Le problème

Le problème de la mise en production

Mise en œuvre de la solution

1

Trouvez le bug

Le monitoring ou les rapports de support signalent une écran cassé. La correction est quelques lignes de JavaScript ou CSS.

2

Construire un nouveau binaire

Vous augmentez la version, vous construisez pour iOS et Android, et vous préparez deux soumissions de magasin.

3

Attendez la revue

La revue des magasins peut durer 24 à 48 heures, voire bien plus longtemps. Un rejet réinitialise la période d'attente.

4

Attendez que les utilisateurs mettent à jour

Après l'approbation, chaque utilisateur doit encore installer la nouvelle version. Jusqu'à présent, ils exécutent l'ancienne code.

Chaque étape ajoute du temps entre la correction prête et la correction exécutée sur les appareils de vos utilisateurs.

Why store fixes reach users slowly

24-48h+

Temps de revue moyen du magasin

Apple et Google examinent chaque nouveau binaire. La revue dure souvent 24 à 48 heures, parfois beaucoup plus longtemps, et un rejet signifie réinscrire.

Par utilisateur

Store updates depend on each device

Une mise à jour du magasin atteint un appareil uniquement lorsque l'utilisateur, ou leur paramétrage d'auto-mise à jour, l'installe. Certains appareils restent sur des anciens builds pendant une longue période.

2 magasins

Deux soumissions pour chaque correction

Le même correctif web passe par l'App Store et Google Play séparément, chacun avec son propre examen et sa mise en ligne.

La Solution

Comment une live update atteint vos utilisateurs

Ce comportement de mise à jour est par défaut de Capgo. Aucun avertissement de mise à jour, ni redémarrage forcé, ni soumission de magasin pour les modifications de la couche web.

Mise à jour par défaut

  1. L'application vérifie les mises à jour

    Lorsque l'application revient en avant-plan, et toutes les 10 minutes pendant qu'elle reste ouverte, le metteur à jour demande à Capgo le dernier bundle du canal.

    En avant-plan

  2. Cela télécharge en arrière-plan

    Les mises à jour delta téléchargent uniquement les fichiers modifiés tandis que le nouveau bundle se télécharge en arrière-plan.

    Aucune interruption

  3. Mise à jour de production

    Lorsque l'utilisateur quitte l'application, l'actualiseur installe le bundle. La prochaine fois qu'il l'ouvre, il exécute la nouvelle version.

    Prochain plan arrière

Need users to see the new version as soon as they open the app? Direct update modes apply it at launch while the splash screen is shown.

Voir les mises à jour directes

Mise à jour du comportement

Comment ça marche

How production teams ship a fix with Capgo

Une mise en production typique pour une application Capacitor déjà disponible dans les magasins. Chaque commande ci-dessous est tirée des Capgo CLI docs.

  1. Configurer l'actualiseur une fois

    Exécutez le guide de configuration, puis assurez-vous que votre application appelle notifyAppReady() après son démarrage. Un bundle qui ne fait jamais cette demande se rétablit automatiquement.

    npx @capgo/cli@latest init
    # in your app start-up code
    await CapacitorUpdater.notifyAppReady()
    Mise à jour d'appareil
  2. Mettre à jour la fix sur une tranche de production

    Utilisez `--delta` afin que les appareils ne téléchargent que les fichiers modifiés, et `--rollout` pour démarrer avec une petite part des appareils. Les autres restent sur la version stable.

    npx @capgo/cli@latest bundle upload --channel production --delta --rollout 5
    Rollouts progressifs docs
  3. Faites cesser Capgo une mauvaise mise à jour

    Activez l'arrêt automatique avec un seuil de taux d'erreur (500 points de base est 5%). Si les erreurs le dépassent, Capgo roule la mise à jour en arrière. Vérifiez la nouvelle version dans Observe pendant qu'elle fonctionne.

    npx @capgo/cli@latest channel set production \
      --auto-pause-enabled \
      --auto-pause-failure-rate-bps 500 \
      --auto-pause-action rollback
    Voir les docs
  4. Promotez à tous

    Lorsque les chiffres sont corrects, promettez l'actualisation à tous les appareils du canal. Sinon, renvoyez le groupe de déploiement vers la version stable.

    npx @capgo/cli@latest channel set production --rollout-promote
    # or, if something looks wrong
    npx @capgo/cli@latest channel set production --rollout-rollback
    Mise à niveau

Conçu pour les lancements de production

Les équipes de production utilisent ces contrôles pour livrer fréquemment sans surprendre les utilisateurs.

Mises à jour delta

Télécharger avec --delta et les appareils téléchargent uniquement les fichiers qui ont changé depuis leur bundle actuel. Les grands fichiers qui changent rarement sont téléchargés une seule fois.

  • Smaller downloads for users on slow or metered networks
  • Les mises à jour s'appliquent par défaut entre les sessions, et non en cours de session.
Mises à jour delta

--delta

Seuls les fichiers modifiés sont téléchargés

Déploiement progressif avec arrêt automatique

Envoyez une nouvelle version à un partage aléatoire et fixe d'un canal, tandis que tout le monde reste sur la version stable. Augmentez le pourcentage, promouvez-l’ou revenez-en à partir de la console ou du CLI

  • L'arrêt automatique peut arrêter ou revenir sur un déploiement lorsque le taux d'erreur dépasse votre seuil
  • Observe compare la nouvelle version avec la précédente avant de lever l'exposition
Documentation sur les déploiements progressifs

1–5%

Étape de déploiement typique

Rebascule automatique

Chaque mise à jour doit prouver qu'elle démarre. Si une nouvelle version ne fait pas appeler notifyAppReady() à temps, le dispositif revient à la dernière version fonctionnelle et marque la nouvelle comme échouée

  • Si notifyAppReady() n'est pas appelé dans les 10 secondes (défaut), le rollback est déclenché.
  • Roulez tout un canal en arrière vers n'importe quel bundle antérieur de son histoire
Mise à jour d'appareil

10s

Delai d'attente d'appReady par défaut avant reversion automatique

Livraison consciente des app stores

Capgo fournit la couche web Capacitor : JavaScript, CSS et assets. Il ne modifie pas le code natif, les plugins, les permissions, les droits ou les métadonnées de l'application. La revue de l'application est spécifique à l'application, vous restez donc responsable de la conformité aux politiques et de l'approbation.

  • Use a native store release when native capabilities, plugins, permissions, or app-store metadata change
  • Gardez les notes des réviseurs claires sur la fonctionnalité de l'application et le chemin d'actualisation de la couche web
  • Examinez les politiques actuelles d'Apple et de Google avant chaque soumission

Ce que les équipes de production font avec cela

Travail quotidien sur les mises à jour une fois les mises à jour en place. Chaque carte est liée aux documents.

Corrections de bogues critiques

Une écran de paiement ou de connexion cassé obtient une correction web. Téléchargez-l’et les appareils le récupèrent lors de leur prochaine vérification de mise à jour.

Mise à jour du comportement

Mises à jour de comportement des documents

Mettez à jour le texte d'aide, les images et les autres actifs intégrés sans avoir à reconstruire un nouveau binaire.

Compatibilité native des documents

Documentation de compatibilité native

Comparez le nouveau bundle avec le précédent : taux d'absence d'erreurs, temps de lancement et de la vue WebView, et marqueurs de déploiement par version.

Voir les docs

Mises à jour rapides avec notifications de mise à jour

Après avoir modifié le contenu d'un canal, envoyez une mise à jour silencieuse pour que les appareils vérifient maintenant plutôt que lors de leur prochaine mise en avant-plan.

Envoyer une notification d'actualisation

Protégez les anciens builds natifs

Empêchez les mises à jour majeures sur un canal afin qu'un contenu qui nécessite de nouvelles code natives ne parvienne jamais à un ancien binaire.

Documentation sur la ciblage de version

Annuler depuis l'historique du canal

Choisissez n'importe quel bundle précédent dans l'onglet Historique du canal pour le rendre disponible à nouveau pour tous les appareils de ce canal.

Rétrogradations

Infrastructure déjà utilisée par les applications en production

Depuis 2021, Capgo fournit des mises à jour en direct pour les applications de production.

Rétrogradations
1B+
Appareils atteints
90M+
Apps utilisant Capgo
4,7K+
Typical API latency
~50ms

Applications créées avec Capacitor

High-traffic apps need reliable UI changes in production

Les applications météo, de santé publique et de télécommunications dépendent d'interfaces précises, d'alertes et de navigation. Les mises à jour en production aident à envoyer des correctifs d'interface approuvés tout en surveillant l'adoption avant d'étendre davantage.

Windy.com - icône de prévision météorologique MÉTÉO

Windy.com - Prévisions météorologiques

Application météo où les cartes, les alertes et les corrections de navigation nécessitent une expansion de production soigneuse.

Téléchargements Google Play
32,9M
Note de classement de l'application
4.7
Icône de l'application Conecte SUS MÉDICINAL

Conecte SUS

Public health app where guidance and service information require fast, trusted updates.

Téléchargements Google Play
27,7M
Note de notation du magasin
4.6
icône de l'application Mi Orange Outils

Mi Orange

Application de compte télécom où les alertes et les surfaces de compte changent fréquemment.

Installs sur Google Play
9,3M
Note de notation du magasin
4.2

Preuves de clients

Ce que les équipes qui utilisent Capgo disent

5.0/5 évalué par les équipes de développeurs 9,400+ équipes Lire les avis
Portrait de Sergiu S

Sergiu S

Développeur principal, drivolino GmbH

« Le plugin de mise à jour Capgo Capacitor a complètement transformé notre façon de livrer les mises à jour. Ce qui prenait des jours ne prend plus que des minutes. »

Kapil

Fondateur, NuTriQ

Pouvoir envoyer des mises à jour OTA de production instantanément sans attendre les cycles de revue complets de l'App Store a été un avantage opérationnel massif.

Portrait de Michael Haberler

Michael Haberler

nethead emeritors

Très bonne réalisation pour le plugin de mise à jour. Il fonctionne parfaitement pour moi, et les mises à jour en temps réel sont un super accélérateur pour un retour d'expérience rapide.

FAQ

Questions posées par les équipes de production

How updates reach devices, and what to do when one goes wrong.

Quand les utilisateurs reçoivent un live update ?

Par défaut, l'application vérifie les mises à jour lorsqu'elle revient en avant-plan et toutes les 10 minutes tout en restant ouverte. Elle télécharge le nouveau bundle en arrière-plan, l'installe lorsque l'utilisateur quitte l'application et le lance la prochaine fois qu'il l'ouvre. La configuration autoUpdate modifie ce comportement.

Mise à jour du comportement

Can devices pick up an urgent fix faster?

Yes. After you change a channel's bundle, send an update notification from the console, or add --send-update-notification to bundle upload. Devices get a silent push and check right away. This needs Capgo Notifications with iOS and Android push credentials. Delivery is best effort: an offline or force-quit app checks on its next launch.

Envoyer une notification d'actualisation

Si une mise à jour casse l'application ?

Si un nouveau paquet ne fait pas appeler notifyAppReady() dans les 10 secondes (le temps par défaut d'appReadyTimeout), l'appareil revient au dernier paquet fonctionnel et marque le nouveau comme échoué. Pour les bugs qui ne bloquent pas l'application de démarrer, annulez la mise à jour progressive ou choisissez un paquet plus ancien de l'historique du canal.

Documentation des annulations

How do we release to a few users first?

En charger avec --rollout pour envoyer le paquet à une partage fixe et aléatoire du canal tandis que tout le monde reste sur stable. Augmentez le pourcentage, promouvez ou annulez depuis la console ou CLI. La mise en pause automatique peut arrêter l'exposition lorsque le taux de défaillance dépasse un seuil.

Documentation des mises à jour progressives

Qu'est-ce que live update ne peut pas changer ?

Les mises à jour en direct remplacent la couche web : JavaScript, HTML, CSS et assets. Les plugins natifs, les mises à jour de Capacitor, les modifications de capacitor.config et les fichiers de projet iOS ou Android nécessitent une mise en ligne de magasin. Capgo vérifie les paquets pour la compatibilité native lors de l'upload, et les canaux peuvent bloquer les mises à jour vers les anciens binaires.

Documents de compatibilité natives

Ship your next fix as a live update

Essayez la mise en œuvre complète sur votre propre application pendant la période d'essai : téléchargez un bundle, le déploiez sur quelques appareils et revenez en arrière.