당사의 앱 개발이 완료된 후, 향후 제품 업그레이드는 불가피하므로 고객의 휴대폰에서 자동으로 앱이 업그레이드되기를 희망하며, 이는 자동 업그레이드와 수동 업그레이드로 나눌 수 있습니다.
자동 업그레이드: 일반적으로 고객 앱이 처음으로 홈페이지를 열 때입니다.
수동 업그레이드: 앱 인터페이스에 업그레이드 입구를 제공합니다.
인터페이스 효과는 다음과 같이 설명됩니다.
코드는 실제로 매우 간단하지만 iOS용과 Android용으로 별도로 처리해야 합니다. 기본 아이디어는 로컬 컴퓨터의 앱 버전 번호를 얻은 다음 이를 서버의 앱 버전 번호와 비교하는 것입니다. 서버의 앱 버전 번호보다 낮으면 업데이트 작업을 수행합니다.
var btn = [업그레이드 확인, 취소];//앱 시스템 업데이트 받기 [업데이트를 받기 위해 수동으로 클릭할지 여부] 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 클라이언트; var ua = navigator.userAgent.toLowerCase(); if (/iphone|ipad|ipod/.test(ua)) { //애플 전화 mui.ajax({ type: get, dataType: 'json', url: https://itunes.apple.com/lookup?id=1318127518,//현재 사용 가능한 APPStore 버전 정보 데이터 가져오기: { id: 131812xxxx //APP 고유 식별 ID }, contentType: 'application/x-www-form-urlencoded;charset=UTF-8', 성공: function (data) { console.log('data:' + JSON.stringify(data) ); var resultCount = data.resultCount; for (var i = 0; i < resultCount; i++) { var norItem = data.results[i].version; console.log('normItem:' + normItem) if (normItem > ver) { var _msg = 새 버전 발견: V + normItem; //plus.nativeUI.alert(새 버전 발견: V + normItem); _msg, '업그레이드 확인', btn, function (e) { if (e.index == 0) { //업그레이드 작업 수행 document.location.href = 'https://itunes.apple.com/cn/app/san-gu-hui/id131812xxxx?mt=8'; //새 APPStore 다운로드 주소} }) return; ('현재 버전 번호가 최신입니다.'); } return } } else if (/android/.test(ua)) { mui.ajax(url, { data: { apkVersion: ver, }, dataType: 'json', 유형: 'get', timeout: 10000, 성공: function (data) { //console.log('data:'+JSON.stringify(data)) if ( data.StatusCode = 200 && data.Data > ver) { //mui.toast(새 버전 발견: V + data.Data);//원격 데이터베이스에서 새 Android 버전 번호 가져오기 var _msg=새 버전 발견: V + data.Data.confirm(_msg, '업그레이드 확인', btn, function (e) { if ( e .index == 0) { //업그레이드 작업 수행 plus.nativeUI.toast (환경 준비 중이니 잠시만 기다려주세요! ); var dtask = plus.downloader.createDownload(config.apkUrl, {}, function (d, status) { if (status == 200) { var path = d.filename;//apk 다운로드 plus.runtime.install( path); // apk 파일 자동 설치 } else { plus.nativeUI.alert('버전 업데이트 실패:' + status) }); dtask.start(); } }); } else { console.log('현재 버전 번호는 이미 최신 버전입니다.') if (ismanual) { mui.toast('현재 버전 번호는 최신 버전입니다.'); return; } }, error: function (xhr, type, errerThrown) { if (ismanual) { mui.toast('네트워크 이상입니다. 나중에 다시 시도하세요') } } }); } });우리의 iOS 애플리케이션은 Apple App Store에 게시되는 반면, Android 애플리케이션은 자체 서버(예: IIS 서버)에 직접 배포됩니다. Android 애플리케이션 시장이 너무 많기 때문에 버전이 업그레이드될 때마다 동일합니다. 매우 귀찮은 점은 버전을 출시할 때마다 모든 안드로이드 애플리케이션 마켓에 가서 업데이트를 제출해야 한다는 것입니다.
수동 업데이트와 자동 업데이트를 사용하여 이 메서드를 호출할 때는 서로 다른 매개 변수를 전달해야 합니다. 자동 업데이트에서 시스템이 현재 버전이 이미 최신 버전임을 감지하면 클라이언트에 표시되지 않기 때문입니다. 및 수동 업데이트 이미 최신 버전인 경우 고객에게 상기시켜 주어야 합니다.
자동 업데이트 호출: appUpdate();//앱 업데이트 감지
수동 업데이트 호출: appUpdate(true);//앱 업데이트 감지
위의 내용은 이 기사의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다. 또한 모든 분들이 VeVb Wulin Network를 지지해 주시길 바랍니다.