Mises à jour delta
Copiez un prompt de configuration incluant les étapes d'installation et le guide markdown complet pour ce plugin.
Le système de Live Update de Capgo peut livrer des mises à jour plus rapidement et plus efficacement en n'envoyant que les fichiers modifiés, plutôt que l'intégralité du bundle JS.
C'est particulièrement avantageux pour les utilisateurs disposant d'une connexion réseau lente ou limitée, car cela minimise la quantité de données à télécharger.
Un second avantage apparaît lorsque l'app contient des assets volumineux qui changent rarement, comme des images ou des vidéos : contrairement aux fichiers JS zippés, ils ne seront téléchargés qu'une seule fois.
Fonctionnement des delta updates
Section intitulée « Fonctionnement des delta updates »Les delta updates dans Capgo sont gérés par le plugin Capgo installé dans votre application. Lorsque vous envoyez une nouvelle version de votre application en utilisant le --delta flag, Capgo fait ce qui suit :
- Chaque fichier de votre build est envoyé individuellement en tant que fichier delta
- Des checksums sont générés pour chaque fichier delta
- La liste des fichiers delta, avec leurs chemins et checksums, est sauvegardée dans la base de données Capgo
Lorsqu'un appareil exécutant votre application recherche une mise à jour, le plugin Capgo reçoit la liste des fichiers delta du nouveau bundle. Il la compare aux fichiers déjà présents, identifiant les fichiers modifiés grâce aux checksums et aux chemins de fichiers.
Le plugin télécharge ensuite uniquement les fichiers modifiés, plutôt que l'intégralité du bundle JS. Il reconstruit la nouvelle version de l'application en combinant ces fichiers téléchargés avec les fichiers inchangés déjà présents.
Quels appareils reçoivent le Delta et lesquels le zip complet
Section intitulée « Quels appareils reçoivent le Delta et lesquels le zip complet »Un bundle envoyé avec --delta contient à la fois un zip complet et des fichiers delta. Sur un canal avec le format de Zip + delta par défaut, chaque appareil reçoit le meilleur package qu'il prend en charge :
- Les appareils avec une version du plugin compatible Delta (
5.10.0+,6.25.0+,7.0.35+, ou8+) ne téléchargent que les fichiers delta modifiés. - Les appareils avec une ancienne version du plugin sans support Delta téléchargent le zip complet.
- Les bundles envoyés sans
--deltan'ont pas de fichiers delta, donc chaque appareil télécharge le zip complet.
Il est donc normal de voir encore des téléchargements de zip complets après avoir activé Delta. Ils proviennent d'appareils qui exécutent encore un build natif plus ancien avec une ancienne version du plugin. Ils disparaîtront au fur et à mesure que les utilisateurs mettront à jour l'application depuis le store.
Vous pouvez modifier cela par canal avec le Format de téléchargement .
Mises à jour delta et bande passante
Mise à jour delta et consommation de bande passanteLes mises à jour Delta réduisent également votre consommation de bande passante Capgo. La bande passante ne compte que les fichiers qu'un appareil télécharge réellement ; avec Delta, seuls les fichiers modifiés comptent, pas le bundle entier. Les fichiers ou les zip complets déjà en cache à l'edge ne comptent pas, et les téléchargements interrompus reprennent là où ils se sont arrêtés sans compter deux fois la partie déjà téléchargée. Voir Comment la bande passante est-elle comptabilisée ?.
Activer les mises à jour Delta
Section intitulée « Activer les mises à jour Delta »To enable Delta updates for your Capgo app, simply use the --delta flag lors de l'upload d'une nouvelle version :
npx @capgo/cli@latest bundle upload --deltaSi autoUpdate est réglé sur un mode d'application instantanée ("atInstall", "onLaunch", ou "always") dans votre capacitor.config, le CLI le détecte. Dans les environnements non interactifs, il envoie automatiquement les mises à jour Delta, et dans les environnements interactifs, il vous demande de confirmer avant l'upload. Legacy directUpdate config est toujours détectée. Utilisez --no-delta pour forcer l'upload d'un bundle complet.
Limitations des mises à jour delta
Section intitulée « Limites des mises à jour Delta »- Fichiers vides : Les logs de CLI
Ignoring empty file...et exclut les fichiers de zéro octet des fichiers delta. Cela n'interrompt pas l'upload, donc l'ajout d'un fichier vide peut modifier le bundle résultant sans stopper votre déploiement. N'incluez pas de fichiers de zéro octet dans les chemins de bundle Delta. - Espaces dans les chemins : Les uploads Delta échouent avant l'envoi des fichiers si un chemin de bundle contient un espace. Renommez le fichier ou le répertoire pour supprimer les espaces avant d'envoyer une mise à jour Delta.
Imposer les mises à jour delta
Section intitulée « Forcer les mises à jour Delta »Si vous voulez garantir que tous les uploads sont des mises à jour Delta et éviter tout upload accidentel de bundle complet, vous pouvez utiliser le --delta-only flag :
npx @capgo/cli@latest bundle upload --delta-onlyQuand --delta-only est utilisé, Capgo n'enverra que les fichiers delta, sans zip complet. Tout appareil utilisant une version de plugin sans support Delta ne pourra pas télécharger la mise à jour.
Vous pourriez vouloir utiliser --delta-only si :
- Vous souhaitez toujours utiliser les mises à jour Delta et ne voulez jamais autoriser l'upload de bundles complets
- Vous configurez un pipeline CI/CD et voulez garantir que tous les uploads automatisés sont en Delta
- Votre application est volumineuse et la bande passante est limitée, vous devez donc minimiser la taille des uploads/downloads
Si vous devez effectuer un upload de bundle complet alors que --delta-only est configuré, lancez simplement la commande d'upload sans --delta-only. Cela écrasera le paramètre pour cet upload unique, vous permettant de pousser un bundle complet si nécessaire.
Troubleshooting
Section intitulée « Dépannage »Si les mises à jour Delta ne semblent pas fonctionner (c'est-à-dire que les appareils téléchargent toujours le bundle JS complet même pour de petites modifications), vérifiez que :
- Vous utilisez le flag
--deltaà chaque fois que vous envoyez une nouvelle version - Si vous utilisez
--delta-only, assurez-vous de ne pas avoir accidentellement omis le--deltaflag - Votre appareil utilise une version de plugin supportant Delta (
5.10.0+,6.25.0+,7.0.35+, ou8+) - Le format de téléchargement du canal n'est pas Zip complet uniquement
- Votre appareil dispose d'une connexion réseau stable et peut joindre les serveurs Capgo
Vous pouvez également utiliser la webapp Capgo pour vérifier les détails de votre dernier upload :
- Allez sur la webapp
- Cliquez sur votre app
- Cliquez sur le nombre de bundles dans la barre de stats.
- Sélectionnez la dernière ligne du
- Consultez la
Delta filesbundle. Elle indique Aucun fichier delta lorsque le bundle a été envoyé uniquement sous forme de zip complet.
Si vous rencontrez toujours des problèmes, contactez le support de Capgo pour obtenir de l'aide. Ils pourront vérifier les logs du serveur pour confirmer que vos uploads de delta sont bien traités et que les appareils reçoivent les fichiers delta.
Et voilà ! Le --delta flag indique à Capgo d'envoyer les fichiers delta individuels nécessaires aux mises à jour Delta.
Notez que vous devez utiliser --delta chaque fois que vous envoyez une nouvelle version que vous souhaitez livrer via une mise à jour Delta. Si vous omettez le flag, Capgo enverra l'intégralité du bundle JS en un seul fichier, et les appareils téléchargeront tout le bundle même si seule une petite partie a changé.
Continuer avec les mises à jour delta
Section intitulée « Continuez avec les mises à jour Delta »Si vous utilisez Mises à jour delta pour planifier la livraison de live update, connectez-l’à Capgo Live Updates pour le workflow produit dans Capgo Live Updates, Aperçu pour les détails d'implémentation dans Vue d'ensemble, Fonctionnalités pour le détail d’implémentation dans Fonctionnalités, Comportement de mise à jour pour les détails d'implémentation dans Update Behavior, et Types de mise à jour pour les détails d'implémentation dans Update Types.