IONIC 自动更新APP版本

1、准备工作,添加插件


如果cordova 未添加请先执行以下命令
	1、npm install bower -g //安装bower  
	2、bower install ngCordova   //安装cordova


1.1、添加获取APP版本信息插件

ionic plugin add cordova-plugin-app-version

2.2、添加APP自动更新相关插件

    ionic plugin add cordova-plugin-file  
    ionic plugin add cordova-plugin-file-transfer  
    ionic plugin add cordova-plugin-file-opener2

2、在APP一运行的时候就进行检查版本信息(在run方法添加如下代码)

.run(function($ionicPlatform, $http, $rootScope, $ionicActionSheet, $timeout, $cordovaAppVersion,  
        $ionicPopup, $ionicLoading, $cordovaFileTransfer, $cordovaFile, $cordovaFileOpener2) {  
    $ionicPlatform.ready(function() {  
        // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard  
        // for form inputs)  
        if (window.cordova && window.cordova.plugins.Keyboard) {  
            cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);  
        };  
        if (window.StatusBar) {  
            StatusBar.styleDefault();  
        };  
        //服务器上保存版本信息
        $http.get('http://localhost/app/ver.json')  
        .then(function(data){  
            var serverAppVersion = data.data.verInfo;//服务器 版本  
            console.log("====>>服务器"+serverAppVersion);  
            $cordovaAppVersion.getVersionNumber().then(function(version) {  
                console.log("version=====本机>>>"+version+"====>>服务器"+serverAppVersion);  
                if (version != serverAppVersion) {  
                    $ionicLoading.show({  
                        template: "已经下载:0%"  
                    });  
                    var url = "http://192.168.1.77:8080/app/android-debug.apk";   
                    var targetPath = "file:///mnt/sdcard/Download/android-debug.apk";   
                    var trustHosts = true  
                    var options = {};  
                    $cordovaFileTransfer.download(url, targetPath, options, trustHosts).then(function (result) {  
                        $cordovaFileOpener2.open(targetPath, 'application/vnd.android.package-archive'  
                        ).then(function () {  
                            }, function (err) {  
                            });  
                        $ionicLoading.hide();  
                    }, function (err) {  
                        alert('下载失败');  
                    }, function (progress) {                             
                        $timeout(function () {  
                            var downloadProgress = (progress.loaded / progress.total) * 100;  
                            $ionicLoading.show({  
                                template: "已经下载:" + Math.floor(downloadProgress) + "%"  
                            });  
                            if (downloadProgress > 99) {  
                                $ionicLoading.hide();  
                            }  
                        })  
                    });  
                }  
            });  
        });  
          
    });  
      
})

3、在服务端webapp下添加以下两个文件

	1、ver.json
	2、Android-debug.apk


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值