Setelah pengembangan aplikasi kami selesai, tidak dapat dipungkiri bahwa produk akan diupgrade di kemudian hari, oleh karena itu kami berharap aplikasi tersebut akan diupgrade secara otomatis di ponsel pelanggan, yang dapat dibagi menjadi upgrade otomatis dan upgrade manual.
Peningkatan otomatis: biasanya saat aplikasi pelanggan membuka beranda untuk pertama kalinya.
Peningkatan manual: Menyediakan pintu masuk peningkatan di antarmuka aplikasi.
Efek antarmuka ditunjukkan sebagai berikut:
Kodenya sebenarnya sangat sederhana, namun perlu diproses secara terpisah untuk ios dan android. Ide dasarnya adalah mendapatkan nomor versi aplikasi di mesin lokal, lalu membandingkannya dengan nomor versi aplikasi di server, jika lebih kecil dari nomor versi aplikasi di server, lalu lakukan operasi pembaruan.
var btn = [Konfirmasi peningkatan, batalkan];//Dapatkan pembaruan sistem aplikasi [Apakah akan mengklik secara manual untuk mendapatkan pembaruan] function appUpdate(ismanual) { console.log('appUpdate'); .runtime.getProperty(plus.runtime.appid, function (inf) { ver = inf.version; console.log('ver:' + ver); var url = config.GetAppVersion; var klien; var ua = navigator.userAgent.toLowerCase(); if (/iphone|ipad|ipod/.test(ua)) {//Ponsel Apple mui.ajax({ ketik: dapatkan, tipe data: 'json', url: https://itunes.apple.com/lookup?id=1318127518,//Dapatkan data informasi versi APPStore yang tersedia saat ini: { id: 131812xxxx // ID identifikasi unik APP }, ContentType: 'application/x-www-form-urlencoded;charset=UTF-8', sukses: function (data) { console.log('data:' + JSON.stringify(data) ); var resultCount = data.resultCount; untuk (var i = 0; i < resultCount; i++) { var normItem = data.results[i].version; console.log('normItem:' + normItem) if (normItem > ver) { var _msg = Versi baru ditemukan: V + normItem; //plus.nativeUI.alert(Versi baru ditemukan: V + normItem); _msg, 'Konfirmasi peningkatan', btn, function (e) { if (e.index == 0) { //Lakukan operasi peningkatan document.location.href = 'https://itunes.apple.com/cn/app/san-gu-hui/id131812xxxx?mt=8'; //Alamat unduhan APPStore baru} }); kembali; ('Nomor versi saat ini adalah yang terbaru'); } return; } } } else if (/android/.test(ua)) { mui.ajax(url, { data: { apkVersion: ver, }, dataType: 'json', ketik: 'get', batas waktu: 10000, sukses: function (data) { //console.log('data:'+JSON.stringify(data)) if ( data.StatusCode = 200 && data.Data > ver) { //mui.toast(Versi baru ditemukan: V + data.Data);//Dapatkan nomor versi Android baru di database jarak jauh var _msg=Versi baru ditemukan: V + data.Data; mui.confirm(_msg, 'Konfirmasi peningkatan', btn, function (e) { if ( e .index == 0) { //Lakukan operasi pemutakhiran plus.nativeUI.toast (mempersiapkan lingkungan, harap tunggu! ); var dtask = plus.downloader.createDownload(config.apkUrl, {}, function (d, status) { if (status == 200) { var path = d.nama file;//Unduh apk plus.runtime.install( path); // Instal file apk secara otomatis } else { plus.nativeUI.alert('Pembaruan versi gagal:' + status dtask.start(); } } } else { console.log('Nomor versi saat ini sudah yang terbaru'); if (ismanual) { mui.toast('Nomor versi saat ini adalah yang terbaru'); return; } }, error: function (xhr, type, errerThrown) { if (ismanual) { mui.toast('Kelainan jaringan, coba lagi nanti'); } }); });}
Aplikasi ios kami dipublikasikan di Apple App Store, sedangkan aplikasi android di-deploy langsung di server kami sendiri (seperti server IIS), karena terlalu banyak pasar aplikasi android, jadi setiap kali versinya diupgrade akan sama Hal yang sangat merepotkan adalah setiap kali Anda merilis suatu versi, Anda harus mengunjungi semua pasar aplikasi Android untuk mengirimkan pembaruan.
Perlu dicatat bahwa ketika memanggil metode ini menggunakan pembaruan manual dan pembaruan otomatis, parameter yang berbeda harus diteruskan, karena dalam pembaruan otomatis, jika sistem mendeteksi bahwa versi saat ini sudah merupakan versi terbaru, maka tidak akan ditampilkan di klien. , dan update manual Jika sudah versi terbaru, maka pelanggan perlu diingatkan.
Panggilan pembaruan otomatis: appUpdate();//Deteksi pembaruan aplikasi
Panggilan pembaruan manual: appUpdate(true);//Deteksi pembaruan aplikasi
Di atas adalah keseluruhan isi artikel ini, saya harap dapat bermanfaat untuk pembelajaran semua orang. Saya juga berharap semua orang mendukung VeVb Wulin Network.