Aller au contenu

De V3 à V4

Après de nombreuses discussions avec vous sur le Discord, j'ai réalisé que le mode manuel était beaucoup trop manuel et risqué. Par exemple, l'auto-revert n'était pas possible : si une mise à jour échouait en mode manuel, l'utilisateur devait supprimer l'app et la réinstaller, ce qui offre une UX terrible.

J'en ai profité pour vous donner plus de liberté et supprimer toutes les mauvaises code que j'avais conçues.

npm i @capgo/capacitor-updater@4

Si vous utilisez l'exemple de base dans votre app, vous pouvez migrer vers la nouvelle version en toute sécurité. Profitez-en !

Mise à jour auto auto-hébergée

Section intitulée « Auto-update self-hosted »

Pour vous, cela reste simple, voici les changements :

  • Le nom du paramètre de autoUpdateUrl dans updateUrl
  • La méthode de l'endpoint est passée de GET à POST

C'est pour vous le changement le plus important, mais pour le mieux ! Vous bénéficiez de nombreuses améliorations, lisez attentivement.

  • autoUpdateUrl devient updateUrl car ce paramètre peut désormais aussi être utilisé en mode manuel
  • Suppression de cancelDelay et delayUpdate au profit de setDelay
  • Fini le versionName in set
  • Modification version clé, qui était renvoyée dans la plupart des fonctions sous forme d'objet BundleInfo
interface BundleInfo {
id: string;
version: string;
downloaded: string;
status: 'success' | 'error' | 'pending' | 'downloading'
}
  • Renommage de noms trompeurs (même si l'explication n'est pas claire, le nouveau nom est facile à comprendre à l'usage) :
    • ce qu'on appelait un version désigne désormais un bundle
    • id référez-vous à l'ancien version qui était une chaîne aléatoire de 10 caractères, ceci id est le seul moyen fiable et unique d'accéder à vos bundles, exemple 7Dfcd2RedN.
    • version référez-vous désormais au versionName que vous choisissez pour un bundle, par exemple 1.0.0
  • updateUrl passez de get vers post, puisque les headers personnalisés posaient problème à certains d'entre vous et que le POST est plus logique, tous les anciens headers passent dans le body avec le préfixe cap_ disparaissent.
  • versionName la méthode est supprimée au profit de getId
  • renvoie désormais une liste de BundleInfo
  • Renommer getId dans getDeviceId
  • autoUpdate devient true par défaut ; si vous utilisez le mode manuel, passez-l’à false.
  • Méthode getLatest, cette méthode vous permet de récupérer depuis votre serveur configuré avec updateUrl la dernière version disponible.
  • Méthode setDelay qui prennent {type: « background » | « kill » | « nativeVersion » | « date », value?: string} comme argument pour définir le délai pour les différents modes.
  • Méthode next, pour définir la version lors du prochain passage en arrière-plan, contrairement à set qui le font instantanément.
  • Méthode isAutoUpdateEnabled, pour vous indiquer si vous êtes en contexte d'auto-update
  • Événement downloadComplete quand le téléchargement atteint 100 %
  • Ajout d'un champ obligatoire version dans la méthode de téléchargement
  • notifyAppReady deviennent également obligatoires en mode manuel ; sinon, si l'appel n'est pas effectué après 10 s, l'app revient à la version précédente.

@lincolnthree Merci infiniment d'avoir lancé ce travail, il était impossible de faire fonctionner cette mise à jour sans vous.

Continuer : Passer de la V3 à la V4

Section intitulée « Passer de la V3 à la V4 »

Si vous utilisez De V3 à V4 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.