Nach Abschluss unserer App-Entwicklung ist es unvermeidlich, dass das Produkt in Zukunft aktualisiert wird. Daher hoffen wir, dass die App auf dem Mobiltelefon des Kunden automatisch aktualisiert wird, was in automatische Upgrades und manuelle Upgrades unterteilt werden kann.
Automatisches Upgrade: in der Regel, wenn die Kunden-App die Homepage zum ersten Mal öffnet.
Manuelles Upgrade: Stellen Sie einen Upgrade-Zugang in der App-Oberfläche bereit.
Der Schnittstelleneffekt wird wie folgt demonstriert:
Der Code ist eigentlich sehr einfach, muss aber für iOS und Android separat verarbeitet werden. Die Grundidee besteht darin, die App-Versionsnummer des lokalen Computers abzurufen und sie dann mit der App-Versionsnummer auf dem Server zu vergleichen. Wenn sie kleiner als die App-Versionsnummer auf dem Server ist, führen Sie einen Aktualisierungsvorgang durch.
var btn = [Upgrade bestätigen, abbrechen];//App-Systemupdate abrufen [Ob manuell angeklickt werden soll, um das Update zu erhalten] 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)) { //Apple phone mui.ajax({ type: get, dataType: 'json', url: https://itunes.apple.com/lookup?id=1318127518,//Holen Sie sich die aktuell verfügbaren APPStore-Versionsinformationsdaten: { id: 131812xxxx //Eindeutige APP-Identifikations-ID }, contentType: 'application/x-www-form-urlencoded;charset=UTF-8', success: function (data) { console.log('data:' + JSON.stringify(data) ); var resultCount = data.resultCount; for (var i = 0; i < resultCount; i++) { var normItem = data.results[i].version; console.log('normItem:' + normItem) if (normItem > ver) { var _msg = Neue Version gefunden: V + normItem //plus.nativeUI.alert(Neue Version gefunden: V + normItem mui.confirm); _msg, 'Upgrade-Bestätigung', btn, function (e) { if (e.index == 0) { //Upgrade-Vorgang durchführen document.location.href = 'https://itunes.apple.com/cn/app/san-gu-hui/id131812xxxx?mt=8'; //Neue APPStore-Download-Adresse} }); ('Die aktuelle Versionsnummer ist die neueste'); } return; } }); else if (/android/.test(ua)) { mui.ajax(url, { data: { apkVersion: ver, }, dataType: 'json', type: 'get', timeout: 10000, success: function (data) { //console.log('data:'+JSON.stringify(data)) if ( data.StatusCode = 200 && data.Data > ver) { //mui.toast(Neue Version gefunden: V + data.Data);//Holen Sie sich die neue Andriod-Versionsnummer in der Remote-Datenbank var _msg=Neue Version gefunden: V + data.Data(_msg, 'Upgrade-Bestätigung', btn, function (e) { if ( e .index == 0) { //Führen Sie den Upgrade-Vorgang plus.nativeUI.toast durch (Vorbereitung der Umgebung, bitte warten! ); var dtask = plus.downloader.createDownload(config.apkUrl, {}, function (d, status) { if (status == 200) { var path = d.filename;//Apk herunterladen plus.runtime.install( path); // APK-Datei automatisch installieren } else { plus.nativeUI.alert('Version update failed:' + status } }); dtask.start(); } }); else { console.log('Die aktuelle Versionsnummer ist bereits die neueste'); return; } }, error: function (xhr, type, errerThrown) { if (ismanual) { mui.toast('Netzwerkanomalie, bitte versuchen Sie es später noch einmal'); } }); });}
Unsere iOS-Anwendungen werden im Apple App Store veröffentlicht, während Android-Anwendungen direkt auf unseren eigenen Servern (z. B. IIS-Servern) bereitgestellt werden, da es zu viele Android-Anwendungsmärkte gibt und die Version bei jedem Upgrade dieselbe ist Eine sehr problematische Sache ist, dass Sie jedes Mal, wenn Sie eine Version veröffentlichen, alle Android-Anwendungsmärkte aufsuchen müssen, um Updates einzureichen.
Es ist zu beachten, dass beim Aufruf dieser Methode mit manueller Aktualisierung und automatischer Aktualisierung unterschiedliche Parameter übergeben werden müssen, da bei der automatischen Aktualisierung das System, wenn es erkennt, dass die aktuelle Version bereits die neueste Version ist, diese nicht auf dem Client anzeigt und manuelles Update. Wenn es sich bereits um die neueste Version handelt, muss der Kunde daran erinnert werden.
Automatischer Update-Aufruf: appUpdate();//App-Updates erkennen
Manueller Update-Aufruf: appUpdate(true);//App-Updates erkennen
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich ist. Ich hoffe auch, dass jeder das VeVb Wulin Network unterstützt.