texts
targetLanguage
- protectedTokens
- texts
- La récupération est instantanée si quelque chose se produit mal.
Le même conseil « gardez OTA mince » qui fonctionne dans le domaine de React Native s'applique également à Capgo. La différence est que Capgo donne aux équipes Capacitor quelques leviers supplémentaires : Mises à jour delta, canaux, annulations automatiques, ciblage de version, et chiffrage de bout-en-bout facultatif Si vous utilisez ceux-ci ensemble, vous obtenez des payloads plus petits, des installations plus rapides et beaucoup moins de chaos opérationnel..
La minceur compte même lorsque le MAU reste le même
Un détail utile spécifique à __CAPGO_KEEP_0__ : le MAU __CAPGO_KEEP_1__ est effectivement le nombre de périphériques actifs mensuels qui ont contacté le service de mise à jour au cours des 30 derniers jours.
One useful Capgo-specific detail: Capgo MAU is effectively the number of monthly active devices that contacted the update service in the last 30 days.
__CAPGO_KEEP_0__
- Téléchargements plus rapides sur les réseaux cellulaires ou faibles Wi-Fi
- Une meilleure expérience avec des mises à jour directes
- Moins de bande passante gaspillée sur les lancements ou les annulations de versions
- Un rayon d'action plus réduit lors de la mise en production ou de la mise en ligne d'une version
Les mises à jour économes sont vraiment axées sur la vitesse, la sécurité et la discipline opérationnelle.
1. Définissez par défaut les mises à jour Delta
Si vous faites seulement une chose, faites celle-ci.
Capgo’s Les mises à jour Delta envoient 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 de routine OTA.
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 voulez que CI reste strict, utilisez --delta-only afin que personne ne tombe accidentellement sur des 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 delta basée sur le manifeste 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 actifs comme des actifs, pas comme des bagages JavaScript
Les actifs volumineux sont là où les bundles OTA se gonflent discrètement.
Certaines règles pratiques :
- N'incluez pas les grandes images ou les médias à l'intérieur du JavaScript lorsque un fichier d'actif normal le fera.
- Gardez les contenus qui changent fréquemment sur votre propre CDN ou API si ils ne doivent pas vivre à l'intérieur du bundle d'application livré.
- Faites attention avec les images de marketing, les vidéos d'accueil et les actifs de campagne uniques qui sont remplacés à chaque mise à jour.
- Laissé 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 même lorsque votre application grandit. Le pire modèle est une petite correction de l'interface utilisateur qui oblige les utilisateurs à télécharger une grande quantité de médias non liés.
3. Gardez les versions natives pour les vraies modifications natives
Les mises à jour de Capgo mettent à jour la couche web : HTML, CSS, JavaScript et les actifs chargés en temps de exécution.
C'est pas le bon canal pour :
- les nouveaux plugins natives,
- les modifications de permissions,
capacitor.config.tsles changements,- toute chose qui modifie l'état du projet native iOS ou Android.
Cette ligne compte aussi pour la performance. Si vous continuez à insérer des changements structurels majeurs dans la voie de mise à jour OTA, votre stratégie de mise à jour devient plus lourde et plus risquée au fil du temps.
Utilisez deux voies de mise à jour à des fins délibérées :
Voie native
For les modifications de plugin, les modifications de permission et la configuration native :
bun run build
bunx cap sync
Ensuite, expédiez une mise à jour de magasin normale.
Capgo voie
Pour une 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 à vie longue. 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 « mince » n'est pas seulement question de mégaoctets. C'est aussi question de savoir combien de dispositifs reçoivent la mise à jour avant de savoir qu'elle est bonne.
Capgo’s le système de canaux est la manière la plus propre de contrôler cela :
stagingpour les tests de qualitébetapour les testeurs invitésproductionpour tout le mondehotfixpour la récupération d'urgence
Un flux simple ressemble à ceci :
- Télécharger sur
staging. - Valider sur des appareils réels.
- Déployer progressivement, qu'il s'agisse de canaux contrôlés ou de déploiement basé sur un pourcentage.
- Régresser immédiatement si la santé diminue.
Si votre application a plusieurs baselines natives dans la wild, associez les canaux avec ciblage de version . Cela empêche les paquets 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, 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 phase de démarrage.
Plus vous voulez que l'mise à jour soit appliquée rapidement, plus votre chemin d'initialisation doit être discipliné.
Capgo’s le comportement de mise à jour les documents recommandent explicitement de pairer directUpdate avec les mises à jour Delta. C'est la bonne valeur par défaut.
La deuxième barrière est notifyAppReady().
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()
Si votre application ne signale pas prête dans la fenêtre de 10 secondes par défaut, ou dans ce que notifyAppReady() vous avez défini dans votre __CAPGO_KEEP_0__ config, __CAPGO_KEEP_1__ peut marquer cette version invalide et restaurer la version précédente valide. Ce comportement de reversion est ce que vous voulez en production, mais cela signifie également que vous devriez garder la phase de démarrage propre : 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:
- Call
notifyAppReady()en place - Évitez les tâches de démarrage lent dans le chemin critique
- 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 de faible performance avant une mise en production large
Si vous n'avez pas révisé cela récemment, le guide notifyAppReady vaut la peine de le relire.
6. Utilisez les canaux d'actualisation internes au lieu de rebuilds natives inutiles
Beaucoup d'équipes mobiles gaspillent leur temps à construire des binaires pour des changements qui sont clairement web-only.
Si le changement est :
- copie,
- polissage de l'interface utilisateur,
- Onboarding flux,
- Logique d'écran de tarification,
- Branchement d'analytiques,
- Drapeaux de fonctionnalité,
- Affichage de réponse ou de prompt API.
Une mise à jour Capgo est souvent l'artefact de revue le plus rapide.
Cela signifie moins de rebuilds natives, moins de boucles de TestFlight et un boucle de feedback plus serrée pour l'équipe. C'est l'un des avantages les moins utilisés de Capgo: vous pouvez déplacer plus de travail de revue et de QA dans la voie OTA sans briser la frontière native/web.
Notre guide sur mise en scène 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é de secret
Les petits bundles et les bundles sécurisés résolvent des problèmes différents.
Les canaux contrôlent l'éligibilité. Ils ne rendent pas un bundle confidentiel par eux-mêmes.
Si vous avez besoin de garanties de livraison plus solides :
- __CAPGO_KEEP_0__ Chiffrage de mise à jour en temps réel,
- utiliser stockage personnalisé ou livraison auto-hébergée,
- garder les clés privées uniquement dans les workflows de CI ou opérateurs sécurisés.
Cela ne signifie pas que la taille de la mise à jour est sans importance. Il suffit de vous optimiser pour les deux dimensions :
- se concentrer sur la vitesse,
- chiffrer pour le contrôle de la livraison,
- les canaux pour le contrôle de déploiement,
- rollback pour la récupération.
Avec un flux de travail « lean Capgo » pratique
Si vous souhaitez un modèle d'exploitation simple par défaut, utilisez celui-ci :
- Maintenez séparés les chemins de lancement natif et OTA.
- Téléchargez les modifications JS avec
--deltapar défaut. - Utilisez
staginget les canaux avantbetaRegardezproduction. - mettre à jour les statistiques et les journaux après le lancement, et non seulement avant. Transformez les PR en prévisualisations installables lorsque la construction native n'est pas nécessaire.
- Utilisez les canaux avant de lancer
- Évitez d'inclure de grandes quantités de médias fréquemment modifiés dans le bundle chaque fois que possible.
- Actualisez la base native après une importante croissance d'actifs ou des changements natifs.
- Traitez
notifyAppReady()et le comportement de reversion comme partie de l'ingénierie de la mise en production, et non comme des détails de configuration.
Cette combinaison reste rapide beaucoup plus longtemps que l'approche commune « envoyez simplement ce qui a changé ».
Pensée 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 mise en production.
Utilisez les mises à jour Delta pour la taille du payload, les canaux pour la taille de la mise à jour et les reversions pour la taille de l'erreur. Une fois que vous pensez à l'OTA de cette façon, 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 Capgo maigres et rapides.
Si vous utilisez Comment garder les mises à jour Capgo maigres et rapides pour planifier la routage de canal et le lancement étape par étape, connectez-le avec Canaux pour les détails d'implémentation dans Canaux, Canaux pour les détails d'implémentation dans Canaux, Canaux pour les détails d'implémentation dans Canaux, Solution de test bêta pour le flux de travail du produit dans Solution de test bêta, et Solution de ciblage de version pour le flux de travail du produit dans Solution de ciblage de version.