Passer à la navigation

Décalages de mise à jour

Le système de Capgo de Live Update peut envoyer des mises à jour plus rapidement et de manière plus efficace en envoyant uniquement les fichiers modifiés, plutôt que le bundle JS entier.

Cela est particulièrement bénéfique pour les utilisateurs sur des connexions réseau plus lentes ou facturées, car cela minimise la quantité de données qui doivent être téléchargées.

Un deuxième avantage est lorsque l'application a de grands ateliers qui changent rarement, comme des images ou des vidéos, comparés aux fichiers JS zippés, ils seront téléchargés uniquement une fois.

Comment fonctionnent les mises à jour Delta

Comment les mises à jour delta fonctionnent

Les mises à jour en delta de Capgo sont gérées par le plugin Capgo installé dans votre application. Lorsque vous téléchargez une nouvelle version de votre application en utilisant la --delta flag, Capgo effectue les opérations suivantes :

  1. Chaque fichier de votre build est téléchargé individuellement sous forme de fichier delta
  2. Des sommes de contrôle sont générées pour chaque fichier delta
  3. La liste des fichiers delta, avec leurs chemins et leurs checksums, est sauvegardée dans la base de données Capgo.

Lorsqu'un appareil exécutant votre application vérifie une mise à jour, le plugin Capgo reçoit la liste des fichiers delta pour le nouveau bundle. Il compare celle-ci à les fichiers qu'il possède déjà, identifiant les fichiers qui ont changé en fonction des sommes de contrôl’et des chemins de fichiers.

Le plugin télécharge ensuite uniquement les fichiers modifiés, plutôt que le bundle JS complet. Il reconstruit la nouvelle version de l'application en combinant ces fichiers téléchargés avec les fichiers inchangés qu'il possède déjà.

Quels appareils reçoivent Delta et quels appareils reçoivent le zip complet

Section intitulée « Quels appareils reçoivent Delta et quels appareils reçoivent le zip complet »

Un bundle téléchargé avec --delta has both a full zip and delta files. On a channel with the default Zip + delta format de téléchargement, chaque appareil reçoit le meilleur paquet qu'il supporte :

  • Devices sur une version de plugin avec prise en charge de Delta (5.10.0+, 6.25.0+, 7.0.35+, ou 8+téléchargent uniquement les fichiers delta modifiés.
  • Les appareils avec une ancienne version du plugin sans prise en charge Delta téléchargent le zip complet.
  • Les bundles téléchargés sans --delta ne disposent pas de fichiers delta, donc chaque appareil télécharge le zip complet.

Vous pouvez toujours voir quelques téléchargements de zip complets après avoir activé Delta. Ils proviennent d'appareils qui exécutent encore une ancienne version native avec une ancienne version du plugin. Ils disparaissent lorsque les utilisateurs mettent à jour l'application depuis la boutique.

Vous pouvez modifier cela par canal avec le Format de téléchargement Paramètre.

Mises à jour delta et consommation de bande

Section intitulée « Delta updates and bandwidth usage »

Les mises à jour Delta réduisent également votre consommation de bande passante Capgo. La consommation de bande passante ne compte que les fichiers que l'appareil télécharge réellement, donc avec Delta, seuls les fichiers modifiés comptent, et non le tout le bundle. 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 s'étaient arrêtés sans compter la partie téléchargée deux fois. Voir Comment est comptée la bande passante ?.

Pour activer les mises à jour Delta pour votre application Capgo, utilisez simplement --delta flag lors de l'upload d'une nouvelle version :

Fenêtre de terminal
npx @capgo/cli@latest bundle upload --delta

Si autoUpdate Mode d'application instantané est défini."atInstall", "onLaunch"ou "always") dans votre capacitor.configLe CLI détecte cela. Dans les environnements non interactifs, il envoie des mises à jour Delta automatiquement, et dans les environnements interactifs, il vous demande confirmation avant de télécharger. directUpdate pour forcer l'envoi d'un bundle complet. --no-delta forcer une mise à jour complète du bundle.

  • Fichiers vides : Les journaux de CLI Ignoring empty file... et exclut les fichiers de zéro octets des fichiers delta. Il ne fait pas fail l'upload, donc l'ajout d'un fichier vide peut modifier le paquet résultant sans arrêter votre déploiement. N'incluez pas les fichiers de zéro octets dans les chemins de paquet Delta.
  • Espaces dans les chemins : Les uploads delta échouent avant d'uploader les fichiers lorsque un chemin de paquet contient un espace. Renommez le fichier ou le répertoire pour supprimer les espaces avant d'uploader une mise à jour Delta.

Si vous souhaitez vous assurer que toutes les mises à jour soient des mises à jour Delta et prévenir tout téléchargement de bundle complet par erreur, vous pouvez utiliser le --delta-only flag:

Enforcing Delta Updates
npx @capgo/cli@latest bundle upload --delta-only

Lorsque --delta-only Capgo sera utilisé, il n'upload que les fichiers delta, sans un zip complet. Toute appareil sur 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 jamais autoriser les téléchargements de bundles complets.
  • Vous configurez un pipeline CI/CD et voulez vous assurer que toutes les téléchargements automatiques sont Delta
  • Votre application est grande et la bande passante est contrainte, vous devez donc minimiser les tailles de téléchargement/telechargement

Si vous devez effectuer une mise à jour complète de votre bundle. --delta-only est activé, simplement exécutez la commande de téléchargement sans --delta-onlyCela permettra de prendre en charge la mise à jour complète d'un bundle lorsqu'il est nécessaire.

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 --delta flag à chaque fois que vous publiez une nouvelle version
  • Si vous utilisez --delta-onlyAssurez-vous de n'avoir pas omis par inadvertance les. --delta le flag
  • Votre appareil exécute une version de plugin avec prise en charge de Delta (5.10.0+, 6.25.0+, 7.0.35+ou 8+)
  • 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 atteindre les serveurs Capgo

You can also use the Capgo webapp to check the details of your last upload:

  1. Allez à l' webapp
  2. Cliquez sur votre application
  3. Cliquez sur le nombre de bundles de la barre des statistiques.
  4. Sélectionnez le dernier bundle
  5. Vérifiez la Delta files ligne. Elle montre Aucun fichier delta lorsque le bundle a été téléchargé sous forme de zip complet uniquement. type de bundle

Si vous continuez à rencontrer des difficultés, veuillez contacter le support Capgo pour obtenir une aide supplémentaire. Ils peuvent consulter les journaux du serveur pour confirmer que vos téléchargements Delta sont traités correctement et que les appareils reçoivent les fichiers delta.

Voilà ! Le --delta le 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 téléchargez une nouvelle version que vous souhaitez être livrée sous forme de mise à jour Delta. Si vous omettez le drapeau, Capgo téléchargera l'intégralité du bundle JS sous forme de fichier unique, et les appareils téléchargeront l'ensemble du bundle même si seulement une petite partie a changé.

Si vous utilisez mises à jour Delta planifier la livraison live update, la connecter à Capgo Live Updates pour planifier la livraison de Capgo, connectez-l’à Overview pour les détails d'implémentation dans Aperçu Caractéristiques pour les détails d'implémentation dans Caractéristiques Comportement de mise à jour pour les détails d'implémentation dans Comportement de mise à jour, et Types de mise à jour pour les détails d'implémentation dans Types de mise à jour.