ionic 如何进行自动更新
ionic App更新有两种方式:第一种是普通的从远程下载apk,安装并覆盖旧版本。另外一种就是采用替换www
文件夹的内容,实现应用内更新,而无需下载安装apk。
这篇文章讲的是通过第一种方式,来实现app的更新。
App更新流程比较简单,如下图:
这里用到的后端的接口字段如下:
{
"update_flag", // 更新的flag,一般取值分为不更新,普通更新,强制更新三种
"url", // 远程apk下载地址
"desc", // 更新描述
""
}
第一步:安装所需要的插件
- cordova-plugin-network-information
- cordova-plugin-file
- cordova-plugin-file-operner2
- cordova-plugin-file-transfer
- cordova-plugin-app-version
cordova plugin add cordova-plugin-network-information cordova-plugin-file cordova-plugin-file-operner2 cordova-plugin-file-transfer cordova-plugin-app-version --save
第二步:添加AppUpdateService
我把App更新的逻辑封装在了AppUpdateService
中,代码如下:
/**
* App检查更新 Service
*/
.factory('AppUpdateService', ["$http", "Services", '$q', '$cordovaNetwork', '$cordovaAppVersion', '$ionicPopup', '$ionicLoading', '$cordovaFileTransfer', '$cordovaFileOpener2', '$timeout',
function ($http, Services, $q, $cordovaNetwork, $cordovaAppVersion, $ionicPopup, $ionicLoading, $cordovaFileTransfer, $cordovaFileOpener2, $timeout) {
return {
checkVersionData: checkVersionData,
checkVersion: che