Passer à la navigation

De V3 à V4

Après de nombreuses discussions dans la communauté Discord avec vous. J'ai découvert que le mode manuel était trop manuel et pas sûr à utiliser, par exemple, la réversion automatique n'était pas possible, donc si vous avez échoué à mettre à jour en mode manuel, l'utilisateur devait supprimer l'application et l'installer à nouveau, ce qui est un terrible UX.

En même temps, j'ai vu cela comme une opportunité de vous donner plus de liberté et de supprimer tous les mauvais code que j'ai faits.

npm i @capgo/capacitor-updater@4

Si vous utilisez l'exemple de base dans votre application, vous êtes en sécurité pour migrer vers la nouvelle version, profitez-en !

Pour vous, toujours simple, les changements sont :

  • Le nom de la configuration depuis autoUpdateUrl en updateUrl
  • La méthode d'Endpoint a changé de GET à POST

Pour vous, c'est le changement le plus significatif, mais pour le meilleur ! Vous obtenez des améliorations à profusion, Lisez attentivement.

  • autoUpdateUrl devient updateUrl puisque cette configuration peut être utilisée en mode manuel maintenant aussi
  • Suppression de cancelDelay et delayUpdate au lieu de setDelay
  • Plus de versionName dans le set
  • Changer version clé, qui était retournée dans la plupart des fonctions à l'objet BundleInfo
interface BundleInfo {
id: string;
version: string;
downloaded: string;
status: 'success' | 'error' | 'pending' | 'downloading'
}
  • Renommé pour des noms trompeurs maintenant (même si l'explication ne peut pas être claire, mais à l'utilisation est facile à comprendre le nouveau):
    • ce qui était appelé un version est désormais référent à un bundle
    • id se référaient à l'ancien version qui était une chaîne aléatoire de 10 caractères, cela id est la seule façon fiable et unique d'accéder à vos bundles, exemple 7Dfcd2RedN.
    • version se référent désormais à versionName que vous avez choisi pour un bundle, exemple 1.0.0
  • updateUrl passer de get à post, puisque les en-têtes personnalisés étaient un problème pour certains d'entre vous et post est plus logique, tous les en-têtes précédents vont dans le corps et le préfixe cap_ disparaissent.
  • versionName la méthode est supprimée, au profit de getId
  • la liste retourne maintenant une liste de BundleInfo
  • Renommer getId en getDeviceId
  • autoUpdate devient vrai par défaut, si vous utilisez le mode Manuel, définissez-le sur faux.
  • Méthode getLatest, cette méthode vous permet d'obtenir de votre serveur configuré avec updateUrl la dernière version disponible.
  • Méthode setDelay qui prennent {genre: “arrière-plan” | “tuer” | “version native” | “date”, valeur? : string} As argument pour définir le délai dans les différents modes.
  • Méthode next, pour définir la version lors du prochain backgrounding, contrairement à set qui le fait instantanément.
  • Méthode isAutoUpdateEnabled, pour vous informer si vous êtes dans le contexte de mise à jour automatique
  • Événement downloadComplete lorsque le téléchargement atteint 100%
  • Champ obligatoire ajouté version dans la méthode de téléchargement
  • notifyAppReady devient obligatoire également en mode manuel, si ce n'est pas appelé après 10 sec, l'application revient à la version précédente.

@lincolnthree Merci beaucoup de lancer ce travail, il était impossible de faire fonctionner cette mise à jour sans vous.

Si vous utilisez De V3 à V4 pour planifier la livraison d'actualisations en direct, connectez-le avec Capgo Mises à jour en direct pour le flux de travail du produit dans Capgo Mises à jour en direct, Vue d'ensemble pour les détails d'implémentation dans Vue d'ensemble, Fonctionnalités pour le détail de mise en œuvre dans Fonctionnalités, Comportement de mise à jour pour le détail de mise en œuvre dans Comportement de mise à jour, et Types de mise à jour pour le détail de mise en œuvre dans Types de mise à jour.