Una vez completado el desarrollo de nuestra aplicación, es inevitable que el producto se actualice en el futuro, por lo que esperamos que la aplicación se actualice automáticamente en el teléfono móvil del cliente, que se puede dividir en actualización automática y actualización manual.
Actualización automática: normalmente cuando la aplicación del cliente abre la página de inicio por primera vez.
Actualización manual: proporcione una entrada de actualización en la interfaz de la aplicación.
El efecto de interfaz se demuestra de la siguiente manera:
El código es realmente muy simple, pero debe procesarse por separado para iOS y Android. La idea básica es obtener el número de versión de la aplicación de la máquina local y luego compararlo con el número de versión de la aplicación en el servidor. Si es menor que el número de versión de la aplicación en el servidor, realice una operación de actualización.
var btn = [Confirmar actualización, cancelar];//Obtener actualización del sistema de la aplicación [Si hacer clic manualmente para obtener la actualización] 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 cliente; var ua = navigator.userAgent.toLowerCase(); if (/iphone|ipad|ipod/.test(ua)) { //Teléfono Apple mui.ajax({ tipo: get, tipo de datos: 'json', url: https://itunes.apple.com/lookup?id=1318127518,//Obtenga los datos de información de la versión de APPStore actualmente disponibles: { id: 131812xxxx // ID de identificación única de la APLICACIÓN }, contentType: 'application/x-www-form-urlencoded;charset=UTF-8', éxito: function (data) { console.log('data:' + JSON.stringify(data) ); console.log('normItem:' + normItem) if (normItem > ver) { var _msg = Nueva versión encontrada: V + normItem; //plus.nativeUI.alert(Nueva versión encontrada: V + normItem); _msg, 'Confirmación de actualización', btn, function (e) { if (e.index == 0) { //Realizar la operación de actualización document.location.href = 'https://itunes.apple.com/cn/app/san-gu-hui/id131812xxxx?mt=8'; //Nueva dirección de descarga de APPStore} } } if (ismanual) { mui. ('El número de versión actual es el más reciente'); } return; } }); else if (/android/.test(ua)) { mui.ajax(url, { data: { apkVersion: ver, }, tipo de datos: 'json', tipo: 'get', tiempo de espera: 10000, éxito: función (datos) { //console.log('datos:'+JSON.stringify(datos)) if ( data.StatusCode = 200 && data.Data > ver) { //mui.toast(Nueva versión encontrada: V + data.Data);//Obtener el nuevo número de versión de Android en la base de datos remota var _msg=Nueva versión encontrada: V + data.Data; mui.confirm(_msg, 'Confirmación de actualización', btn, function (e) { if ( e .index == 0) { //Realice la operación de actualización plus.nativeUI.toast (preparando el entorno, ¡espere! var dtask = plus.downloader.createDownload(config.apkUrl, {}, función (d, estado) { if (status == 200) { var ruta = d.filename;//Descargar apk plus.runtime.install(); ruta); // Instalar automáticamente el archivo apk } else { plus.nativeUI.alert('Error en la actualización de la versión:' + estado } }); dtask.start(); } }); } else { console.log('El número de versión actual ya es el último'); return; } }, error: function (xhr, type, errerThrown) { if (ismanual) { mui.toast('Anormalidad en la red, inténtelo de nuevo más tarde'); } });
Nuestras aplicaciones de iOS se publican en la App Store de Apple, mientras que las aplicaciones de Android se implementan directamente en nuestros propios servidores (como los servidores IIS), debido a que hay demasiados mercados de aplicaciones de Android, cada vez que se actualiza la versión, será la misma. Una cosa muy problemática es que cada vez que lanza una versión, debe ir a todos los mercados de aplicaciones de Android para enviar actualizaciones.
Cabe señalar que al llamar a este método mediante actualización manual y actualización automática, se deben pasar diferentes parámetros, porque en la actualización automática, si el sistema detecta que la versión actual ya es la última versión, no se mostrará en el cliente. y actualización manual. Si ya es la última versión, es necesario recordárselo al cliente.
Llamada de actualización automática: appUpdate();//Detectar actualizaciones de aplicaciones
Llamada de actualización manual: appUpdate(true);//Detectar actualizaciones de aplicaciones
Lo anterior es el contenido completo de este artículo. Espero que sea útil para el estudio de todos. También espero que todos apoyen VeVb Wulin Network.