Após a conclusão do desenvolvimento do nosso aplicativo, é inevitável que o produto seja atualizado no futuro, por isso esperamos que o aplicativo seja atualizado automaticamente no celular do cliente, que pode ser dividido em atualização automática e atualização manual.
Atualização automática: geralmente quando o aplicativo do cliente abre a página inicial pela primeira vez.
Atualização manual: forneça uma entrada de atualização na interface do aplicativo.
O efeito da interface é demonstrado da seguinte forma:
O código é realmente muito simples, mas precisa ser processado separadamente para iOS e Android. A ideia básica é obter o número da versão do aplicativo da máquina local e compará-lo com o número da versão do aplicativo no servidor. Se for menor que o número da versão do aplicativo no servidor, execute uma operação de atualização.
var btn = [Confirmar atualização, cancelar];//Obter atualização do sistema do aplicativo [Se clicar manualmente para obter a atualização] 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 cliente; var ua = navigator.userAgent.toLowerCase(); if (/iphone|ipad|ipod/.test(ua)) { //Telefone Apple mui.ajax({ type: get, dataType: 'json', url: https://itunes.apple.com/lookup?id=1318127518,//Obtenha os dados de informações da versão da APPStore atualmente disponíveis: {id: 131812xxxx //ID de identificação exclusivo do APP }, contentType: 'application/x-www-form-urlencoded;charset=UTF-8', sucesso: function (data) { console.log('data:' + JSON.stringify(data) ); console.log('normItem:' + normItem) if (normItem > ver) { var _msg = Nova versão encontrada: V + normItem; //plus.nativeUI.alert(Nova versão encontrada: V + normItem); _msg, 'Confirmação de atualização', btn, function (e) { if (e.index == 0) { //Executar operação de atualização document.location.href = 'https://itunes.apple.com/cn/app/san-gu-hui/id131812xxxx?mt=8'; //Novo endereço de download da APPStore} }); ('O número da versão atual é o mais recente'); return } }); else if (/android/.test(ua)) { mui.ajax(url, { data: { apkVersion: ver, }, dataType: 'json', tipo: 'get', tempo limite: 10000, sucesso: função (dados) { //console.log('data:'+JSON.stringify(data)) if ( data.StatusCode = 200 && data.Data > ver) { //mui.toast(Nova versão encontrada: V + data.Data);//Obter o novo número da versão do andriod no banco de dados remoto var _msg=Nova versão encontrada: V + data.confirm(_msg, 'Confirmação de atualização', btn, function (e) { if ( e .index == 0) { //Execute a operação de atualização plus.nativeUI.toast (preparando o ambiente, aguarde! ); path); // Instala automaticamente o arquivo apk } else { plus.nativeUI.alert('Falha na atualização da versão:' + status } }); dtask.start(); } } } else { console.log('O número da versão atual já é o mais recente'); return; } }, erro: function (xhr, type, errerThrown) { if (ismanual) { mui.toast('Anormalidade na rede, tente novamente mais tarde'); } }); });}
Nossos aplicativos iOS são publicados na Apple App Store, enquanto os aplicativos Android são implantados diretamente em nossos próprios servidores (como servidores IIS), porque há muitos mercados de aplicativos Android, então cada vez que a versão for atualizada, será a mesma Uma coisa muito problemática é que toda vez que você lança uma versão, você precisa ir a todos os mercados de aplicativos Android para enviar atualizações.
Ressalta-se que ao chamar este método através de atualização manual e atualização automática, devem ser passados parâmetros diferentes, pois na atualização automática, se o sistema detectar que a versão atual já é a versão mais recente, ela não será exibida no cliente e atualização manual Se já for a versão mais recente, o cliente precisa ser lembrado.
Chamada de atualização automática: appUpdate();//Detecta atualizações de aplicativos
Chamada de atualização manual: appUpdate(true); //Detecta atualizações do aplicativo
O texto acima é todo o conteúdo deste artigo. Espero que seja útil para o estudo de todos. Também espero que todos apoiem a Rede VeVb Wulin.