Allez directement au contenu principal
Tutoriel

Comment garder les mises à jour de Capgo légères et rapides

Un guide pratique sur les mises à jour de Capgo plus petits et plus sûrs : les bundles delta, la mise en ligne basée sur les canaux, les mises à jour de base native, les aperçus de PR, et les garde-fous d'actualisation directe.

Martin Donadieu

Martin Donadieu

Responsable de contenu

Comment garder les mises à jour de Capgo légères et rapides

The best live update is the one your users barely notice.

Cela signifie généralement trois choses :

  1. Le téléchargement est petit.
  2. La mise à jour est contrôlée.
  3. La récupération est instantanée si quelque chose se produit.

Le même conseil « gardez les mises à jour OTA minces » qui fonctionne dans le monde React Native s'applique également à Capgo. La différence est que Capgo donne aux équipes Capacitor quelques leviers supplémentaires : Mises à jour delta, Canaux, Rembobinages automatiques, Ciblage de versionet chiffrage de bout en bout facultatif end-to-end encryption.

Si vous utilisez ces deux ensemble, vous obtenez des payloads plus petits, des installations plus rapides et beaucoup moins de chaos opérationnel.

L'économie compte même lorsque le MAU reste le même

Un détail utile spécifique à Capgo : le MAU de Capgo est effectivement le nombre de périphériques actifs mensuels qui ont contacté le service de mise à jour au cours des 30 derniers jours.

Ainsi, réduire un bundle n'est pas principalement un tour de passe-passe pour réduire le comptage du MAU. Cela compte parce qu'il améliore les parties que les utilisateurs et les équipes ressentent vraiment :

  • Téléchargements plus rapides sur les réseaux cellulaires ou les Wi-Fi faibles
  • Une expérience meilleure avec les mises à jour directes
  • Moins de bande passante gaspillée sur les lancements ou les annulations échoués
  • Un rayon d'action plus petit lors de la mise en production ou la mise en scène d'une mise à jour

Les mises à jour économes sont vraiment sur la vitesse, la sécurité et la discipline opérationnelle.

1. Définissez par défaut les mises à jour Delta

Faites seulement cela si vous ne faites qu'une chose.

Capgo’s Mises à jour Delta Envoyer uniquement les fichiers qui ont changé entre les versions au lieu de télécharger à nouveau le bundle web complet. C'est la plus grande victoire pour les performances OTA de routine.

bun run build
bunx @capgo/cli@latest bundle upload --channel staging --delta

Lorsque votre passe de QA est terminée :

bunx @capgo/cli@latest bundle upload --channel production --delta

Si vous souhaitez que CI reste strict, utilisez --delta-only afin que personne ne tombe accidentellement en arrière sur les téléchargements de bundles complets :

bunx @capgo/cli@latest bundle upload --channel production --delta-only

Utilisez uniquement --delta-only lorsque votre flotte de production prend en charge les mises à jour Delta. Sur les versions de plugins mixtes, les appareils plus anciens qui ne supportent pas la livraison de manifeste basée sur les delta ne seront pas en mesure de télécharger cette mise à jour.

Cela compte encore plus si vous utilisez directUpdate, car le temps entre « mise à jour trouvée » et « application rechargée » devient visible pour l'utilisateur.

2. Traitez les assets comme des assets, pas comme du bagage JavaScript

Les grands assets sont où les bundles OTA sont silencieusement gonflés.

Certain règles pratiques :

  • N'écrivez pas d'images ou de médias volumineux en ligne de code JavaScript lorsque vous pouvez utiliser un fichier de ressource normal.
  • Conservez le contenu qui change fréquemment sur votre propre CDN ou API si cela ne doit pas vivre à l'intérieur de l'ensemble de paquetage de l'application déployée.
  • Faites attention aux images de marketing, aux vidéos d'accueil et aux actifs de campagne uniques qui sont remplacés à chaque mise à jour.
  • Laissez les actifs stables rester stables. Avec les mises à jour Delta, les fichiers inchangés sont réutilisés au lieu d'être téléchargés à nouveau.

C'est l'une des façons les plus faciles de garder Capgo rapide à mesure que votre application grandit. Le pire modèle est une petite correction de l'interface utilisateur qui oblige les utilisateurs à télécharger une pile de médias non liés.

3. Conservez les versions natives pour les changements natives réels

Capgo met à jour la couche web : HTML, CSS, JavaScript et actifs chargés en temps de exécution.

Ce n'est pas le bon canal pour :

  • de nouveaux plugins natives,
  • des changements de permissions,
  • capacitor.config.ts des changements,
  • n'importe quel élément qui modifie l'état du projet natif iOS ou Android.

Cette ligne compte également pour la performance. Si vous continuez à injecter des changements structurels majeurs dans la voie de mise à jour OTA, votre stratégie d'actualisation devient plus lourde et plus risquée avec le temps.

Utilisez deux voies de mise à jour à des fins délibérées :

Voie native

Pour les modifications de plugin, les changements de permission et la configuration native :

bun run build
bunx cap sync

Ensuite, expédiez une mise à jour normale dans l'app store.

Capgo voie

Pour l'itération de la couche web en toute sécurité :

bun run build
bunx @capgo/cli@latest bundle upload --channel production --delta

Rafraîchissez également votre ligne de base native régulièrement si vous avez ajouté récemment un grand nombre d'actifs à long terme. Une mise à jour de magasin fraîche intègre cette nouvelle ligne de base, ce qui garde les différences futures Capgo plus petites.

4. Utilisez les canaux pour garder la taille de la mise à jour petite

Une mise à jour « légère » ne concerne pas seulement les mégaoctets. C'est également le nombre de dispositifs qui reçoivent la mise à jour avant de savoir qu'elle est bonne.

Capgo's système de canal est la manière la plus propre pour contrôler cela :

  • staging pour les tests de qualité
  • beta pour les testeurs invités
  • production pour tout le monde
  • hotfix pour la récupération d'urgence

Un flux simple ressemble à ceci :

  1. Télécharger sur staging.
  2. Valider sur des appareils réels.
  3. Lancer progressivement, qu'il s'agisse de canaux contrôlés ou de lancement basé sur des pourcentages.
  4. Revenir immédiatement si la santé baisse.

Si votre application a plusieurs baselines natives dans le wild, associez les canaux avec ciblage de version. Cela empêche les bundles incompatibles ou trop lourds d'atteindre les anciens binaires.

Pour les équipes qui veulent même des boucles de revue plus serrées, Capgo fonctionne également bien pour prévisions de PR. Cela permet aux produits, à la QA et aux parties prenantes de tester les modifications JS uniquement sans attendre de nouvelles versions de TestFlight ou Play.

5. Si vous activez les mises à jour directes, optimisez la charge de démarrage

Plus vous voulez que l'application soit mise à jour rapidement, plus votre chemin d'initialisation doit être discipliné.

Capgo’s comportement de mise à jour docs recommandent explicitement de pairer directUpdate avec les mises à jour Delta. C'est le bon défausse.

La deuxième garde-fou est notifyAppReady().

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

CapacitorUpdater.notifyAppReady()

If votre application ne signale pas prête dans la fenêtre par défaut de 10 secondes, ou dans ce que vous avez défini dans votre __CAPGO_KEEP_0__ config, __CAPGO_KEEP_1__ peut marquer cette version invalid et restaurer la version précédente valide. Ce comportement de reprise est ce que vous voulez en production, mais cela signifie également que vous devez garder le démarrage propre : notifyAppReady() Appel appReadyTimeout you set in your Capacitor config, Capgo can mark that bundle invalid and restore the previous good version. That rollback behavior is what you want in production, but it also means you should keep startup clean:

  • Évitez les travaux de démarrage lent dans la voie critique notifyAppReady() Enregistrez et restaurez l'état de l'application avec soin si vous rechargez immédiatement
  • Testez les scénarios de réseau mauvais et de dispositifs bas de gamme avant une mise à l'échelle large
  • Si vous n'avez pas révisé cela récemment, le guide de notification de prêt de l'application
  • vaut la peine de le relire.

6. Utilisez les canaux d'actualisation internes au lieu de rebâtir nativement inutilement 6. Utilisez les canaux d'actualisation internes au lieu de rebâtir nativement inutilement 6. Utilisez les canaux d'actualisation internes au lieu de rebâtir nativement inutilement

6. Utilisez les canaux d'actualisation internes au lieu de rebâtir nativement inutilement

Beaucoup d'équipes mobiles perdent du temps à construire des binaires pour des changements qui sont clairement web-only.

Si le changement est :

  • copie,
  • polissage de l'interface utilisateur,
  • flux de démarrage,
  • logique de l'écran de tarification,
  • branchement des analyses,
  • drapeaux de fonctionnalité,
  • affichage de réponse ou API prompt,

alors une mise à jour Capgo est souvent l'artefact de revue le plus rapide.

That means fewer native rebuilds, less TestFlight churn, and a tighter feedback loop for the team. It is one of the most underused benefits of Capgo: you can move more review and QA work into the OTA lane without breaking the native/web boundary.

C'est l'un des avantages les moins utilisés de __CAPGO_KEEP_0__: vous pouvez déplacer plus de travail de revue et de QA dans la voie OTA sans briser la frontière native/web. environnement de pré-production avec un ID d'application mobile unique couvre une méthode pratique pour garder cela propre au fil du temps.

7. Gardez lean séparé des secrets

Les petits paquets et les paquets sécurisés résolvent des problèmes différents.

Les canaux contrôlent l'éligibilité. Ils ne rendent pas un paquet confidentiel par eux-mêmes.

Si vous avez besoin de garanties de livraison plus fortes :

Cela ne signifie pas que la taille de la mise à jour est sans importance. Il faut simplement optimiser pour les deux dimensions :

  • Optimisez pour la vitesse,
  • chiffré pour le contrôle de la livraison,
  • canaux pour le contrôle de la mise en production,
  • retour en arrière pour la récupération.

Un workflow pratique « lean Capgo »

Si vous souhaitez un modèle opérationnel par défaut simple, utilisez celui-ci :

  1. Conservez les voies de publication natives et OTA séparées.
  2. Chargement des modifications JS avec --delta par défaut.
  3. Utilisez staging et beta avant les canaux. production.
  4. Surveillez les statistiques et les journaux de mise à jour après le lancement, et non seulement avant.
  5. Convertissez les PRs en prévisualisations installables lorsque la construction native n'est pas nécessaire.
  6. Maintenez les médias importants et changeants hors du bundle lorsque possible.
  7. Actualisez la base native après une croissance majeure des actifs ou des changements natifs.
  8. Traitez notifyAppReady() et le comportement de reversion comme partie de l'ingénierie de la mise en production, et non comme des triviaux de configuration.

Cette combinaison reste rapide beaucoup plus longtemps que l'approche commune « envoyez simplement ce qui a changé ».

Réflexion finale

Pour les équipes Capgo , « maigre et rapide » n'est pas seulement un problème de taille de bundle.

C'est un problème de conception de la mise en production.

Utilisez les mises à jour Delta pour la taille du payload, les canaux pour la taille de la mise à jour et les annulations pour la taille des erreurs. Une fois que vous pensez à l'OTA de cette manière, vos mises à jour restent rapides même lorsque l'application, l'équipe et la base d'utilisateurs deviennent plus grandes.

Continuez à partir de Comment garder les mises à jour de Capgo légères et rapides

Si vous utilisez Comment garder les mises à jour de Capgo légères et rapides pour planifier la mise en route des canaux et la mise en scène de la mise à jour, connectez-le avec Channels pour les détails d'implémentation dans Channels, Channels pour les détails d'implémentation dans Channels, Channels pour les détails d'implémentation dans Channels, Solution de test bêta pour le flux de produit dans la Solution de test en bêta, et Solution de ciblage de version pour le flux de produit dans la Solution de ciblage de version.

Mises à jour en temps réel pour les applications Capacitor

Lorsqu'un bug de la couche web est en ligne, 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 modifications natives restent dans le chemin de revue normal.

Démarrer Maintenant

Dernières actualités de notre Blog

Capgo vous offre les meilleures informations nécessaires pour créer une application mobile véritablement professionnelle.