Une fois le développement de notre application terminé, il est inévitable que le produit soit mis à niveau à l'avenir, nous espérons donc que l'application sera automatiquement mise à niveau sur le téléphone mobile du client, qui peut être divisée en mise à niveau automatique et mise à niveau manuelle.
Mise à niveau automatique : généralement lorsque l'application client ouvre la page d'accueil pour la première fois.
Mise à niveau manuelle : fournissez une entrée de mise à niveau dans l'interface de l'application.
L’effet d’interface est démontré comme suit :
Le code est en fait très simple, mais il doit être traité séparément pour iOS et Android. L'idée de base est d'obtenir le numéro de version de l'application sur la machine locale, puis de le comparer avec le numéro de version de l'application sur le serveur. S'il est inférieur au numéro de version de l'application sur le serveur, effectuez une opération de mise à jour.
var btn = [Confirmer la mise à niveau, annuler];//Obtenir la mise à jour du système de l'application [Cliquer manuellement pour obtenir la mise à jour] function appUpdate(ismanual) { console.log('appUpdate'); mui.plusReady(function () { plus .runtime.getProperty(plus.runtime.appid, function (inf) { ver = inf.version; console.log('ver:' + ver); var url = config.GetAppVersion; var client ; var ua = navigator.userAgent.toLowerCase(); if (/iphone|ipad|ipod/.test(ua)) { //Téléphone Apple mui.ajax({ type : get, dataType : 'json', url : https://itunes.apple.com/lookup?id=1318127518,//Obtenez les données d'informations sur la version APPStore actuellement disponibles : { id : 131812xxxx //ID d'identification unique de l'application }, contentType : 'application/x-www-form-urlencoded;charset=UTF-8', succès : fonction (données) { console.log('data:' + JSON.stringify(data) ); var resultCount = data.resultCount; pour (var i = 0; i < resultCount; i++) { var normItem = data.results[i].version; console.log('normItem:' + normItem) if (normItem > ver) { var _msg = Nouvelle version trouvée : V + normItem; //plus.nativeUI.alert(Nouvelle version trouvée : V + normItem); _msg, 'Confirmation de mise à niveau', btn, function (e) { if (e.index == 0) { //Effectuer l'opération de mise à niveau document.location.href = 'https://itunes.apple.com/cn/app/san-gu-hui/id131812xxxx?mt=8'; //Nouvelle adresse de téléchargement APPStore} }); ("Le numéro de version actuel est le dernier"); } return; } } } else if (/android/.test(ua)) { mui.ajax(url, { data: { apkVersion : ver, }, dataType : 'json', type : 'get', timeout : 10000, succès : function (data) { //console.log('data:'+JSON.stringify(data)) if ( data.StatusCode = 200 && data.Data > ver) { //mui.toast(Nouvelle version trouvée : V + data.Data);//Obtenir le nouveau numéro de version d'Android dans la base de données distante var _msg=Nouvelle version trouvée : V + data.Data; mui.confirm(_msg, 'Upgrade confirmation', btn, function (e) { if ( e .index == 0) { //Effectuez l'opération de mise à niveau plus.nativeUI.toast (préparation de l'environnement, veuillez patienter ! ); var dtask = plus.downloader.createDownload(config.apkUrl, {}, function (d, status) { if (status == 200) { var path = d.filename;//Télécharger apk plus.runtime.install( path); // Installer automatiquement le fichier apk } else { plus.nativeUI.alert('La mise à jour de la version a échoué :' + status } }); dtask.start(); } }); else { console.log('Le numéro de version actuel est déjà le dernier'); if (ismanual) { mui.toast('Le numéro de version actuel est le dernier' ); return; } }, erreur : function (xhr, type, errerThrown) { if (ismanual) { mui.toast('Anormalité du réseau, veuillez réessayer plus tard' } } }); } }); });}Nos applications iOS sont publiées dans l'App Store d'Apple, tandis que les applications Android sont déployées directement sur nos propres serveurs (comme les serveurs IIS), car il y a trop de marchés d'applications Android, donc à chaque mise à jour de version, ce sera la même chose. . Une chose très gênante est que chaque fois que vous publiez une version, vous devez vous rendre sur tous les marchés d'applications Android pour soumettre des mises à jour.
Il est à noter que lors de l'appel de cette méthode par mise à jour manuelle et mise à jour automatique, différents paramètres doivent être transmis, car en mise à jour automatique, si le système détecte que la version actuelle est déjà la dernière version, elle ne sera pas affichée sur le client. , et mise à jour manuelle S'il s'agit déjà de la dernière version, il faut alors le rappeler au client.
Appel de mise à jour automatique : appUpdate();//Détecter les mises à jour de l'application
Appel de mise à jour manuelle : appUpdate(true);//Détecter les mises à jour de l'application
Ce qui précède représente l’intégralité du contenu de cet article. J’espère qu’il sera utile à l’étude de chacun. J’espère également que tout le monde soutiendra le réseau VeVb Wulin.