Cordova/Phonegap應用實現檢測升級(Android版)

App升級的原理很簡單,獲取服務端最新版的版本信息,與自身的版本信息進行比較,若是自身版本低,就能夠提示用戶下載新版本。 php

對於Android應用,版本信息主要存儲在AndroidManifest.xml文件中: android

<manifest android:hardwareAccelerated="true" android:versionCode="101" android:versionName="1.0.1" android:windowSoftInputMode="adjustPan" package="net.jiusem.tjlib" xmlns:android="http://schemas.android.com/apk/res/android">

android:versionCode表示版本號,是一個整數,android:versionName表示版本名稱,使用點號隔開的字符串。 git

檢測App是否須要更新的關鍵在於獲取到versionCode,並與服務端的versionCode進行比較,若是小於服務端,就說明App有新版本了,須要更新。 github

有一款插件能夠獲取到App的versionCode,安裝方法以下: json

cordova plugin add https://github.com/whiteoctober/cordova-plugin-app-version.git

獲取versionCode: 瀏覽器

cordova.getAppVersion.getVersionNumber(function (version) {
    alert(version);
});


完整的客戶端和服務端代碼示例: 性能優化

//檢查更新方法
function checkUpdate(){
    //檢查更新地址
    var url = 'http://app.test.com/TjLib/check_update.php';
	
	cordova.getAppVersion.getVersionCode(function(versionCode) {
		
		$.post(url,{},function(data){
			var obj = JSON.parse(data);
			if(versionCode < obj.versionCode){
			        //檢測到更新時,提示用戶是否升級
				var r = confirm(obj.msg);
				if(r){
					//調用瀏覽器打開下載連接,須要安裝inappbrowser插件
					window.open(obj.apk, '_system', 'location=yes');
				}
			}
		});
		
	});
	
}

//App啓動後調用一次
setTimeout(function(){
   checkUpdate();
},5000);







服務端代碼參考(PHP)
<?php 
//檢查更新調用

$data = array(
	'versionCode'=>102,//版本號
	'versionName'=>'1.0.1',//版本名稱
	'msg'=>"有新版本可供更新.\n 1.界面美化 \n 2.性能優化", //更新提示
	'apk'=>'http://app.test.com/TjLib/TjLib1.0.1.apk' //app下載地址
);

echo json_encode($data);

?>

歡迎加QQ羣交流:454566813 <說明來自開源中國> app

相關文章
相關標籤/搜索