De la V3 à la V4
Pourquoi cette mise à jour
Section titled “Pourquoi cette mise à jour”Après de nombreuses discussions dans la communauté Discord avec vous. J’ai découvert que le mode manuel était très trop manuel et dangereux à utiliser, par exemple, le retour automatique n’était pas possible, donc si vous échouez à la mise à jour manuelle, l’utilisateur doit supprimer l’application et la réinstaller, ce qui est terrible UX.
En attendant, j’en ai profité pour vous donner plus de liberté et supprimer tous les mauvais codes que j’ai créés.
Installer
Section titled “Installer”npm i @capgo/capacitor-updater@4
Cloud de mise à jour automatique
Section titled “Cloud de mise à jour automatique”Si vous utilisez l’exemple de base dans votre application, vous pouvez migrer en toute sécurité vers la nouvelle version, profitez-en !
Mise à jour automatique auto-hébergée
Section titled “Mise à jour automatique auto-hébergée”Pour vous, toujours simple, les changements sont :
- Le nom du paramètre de
autoUpdateUrldansupdateUrl - La méthode Endpoint est passée de
GETà POST
Utilisateurs manuels
Section titled “Utilisateurs manuels”Pour vous, c’est le changement le plus important, mais pour le meilleur ! Vous obtenez des tonnes d’améliorations, lisez attentivement.
Modifications
Section titled “Modifications”autoUpdateUrldevientupdateUrlpuisque ce paramètre peut désormais également être utilisé en mode manuel- Suppression de
cancelDelayetdelayUpdateau profit desetDelay - Plus de
versionNamedans l’ensemble - Changez la clé
version, qui a été renvoyée dans la plupart des fonctions, en objetBundleInfo
interface BundleInfo { id: string; version: string; downloaded: string; status: 'success' | 'error' | 'pending' | 'downloading'}- Renommé de noms trompeurs maintenant (même l’explication ne peut pas être claire, mais à l’usage il est facile de comprendre le nouveau) :
- ce qui s’appelait un
versionfait désormais référence à unbundle idfait référence à l’ancienversionqui était une chaîne aléatoire de 10 caractères, ceidest le seul moyen fiable et unique d’accéder à vos bundles, exemple7Dfcd2RedN.versionréférez-vous maintenant auversionNameque vous choisissez pour un bundle, exemple1.0.0
- ce qui s’appelait un
updateUrlpasse degetàpost, puisque les en-têtes personnalisés étaient un problème pour certains d’entre vous et que la publication est plus logique, tous les en-têtes précédents vont dans le corps et le préfixecap_disparaît.- La méthode
versionNameest supprimée, au profit degetId - list renvoie maintenant une liste de
BundleInfo - Renommez
getIdengetDeviceId autoUpdatedevient vrai par défaut, si vous utilisez le mode Manuel, définissez-le sur faux.
Actualités
Section titled “Actualités”- Méthode
getLatest, cette méthode vous permet d’obtenir depuis votre serveur paramétré avecupdateUrlla dernière version disponible. - Méthode
setDelayqui prend{kind:“fond” | “tuer” | “Version native” | “date”, valeur ? : string}comme argument pour définir le délai sur différents modes. - Méthode
next, pour mettre la version en backgrounding suivant, contrairement àsetqui le fait instantanément. - Méthode
isAutoUpdateEnabled, pour vous indiquer si vous êtes dans un contexte de mise à jour automatique - Événement
downloadCompletelorsque le téléchargement atteint 100 % - Ajout du champ obligatoire
versiondans la méthode de téléchargement notifyAppReadydevient également obligatoire en mode manuel, si vous n’appelez pas après 10 secondes, l’application revient à la version précédente.
Contributeurs
Section titled “Contributeurs”@lincolntrois Merci beaucoup d’avoir commencé ce travail, il était impossible de faire fonctionner cette mise à jour sans vous.