PhoneGap中文网

 找回密码
 立即注册
查看: 12749|回复: 1
打印 上一主题 下一主题

[转]Cordova/Phonegap应用实现检测升级(Android版)

[复制链接]

1

主题

1

帖子

9

积分

新手上路

Rank: 1

积分
9
跳转到指定楼层
楼主
发表于 2015-9-21 19:36:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
App升级的原理很简单,获取服务端最新版的版本信息,与自身的版本信息进行比较,如果自身版本低,就可以提示用户下载新版本。
对于Android应用,版本信息主要存储在AndroidManifest.xml文件中:
1
<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表示版本名称,使用点号隔开的字符串。
检测App是否需要更新的关键在于获取到versionCode,并与服务端的versionCode进行比较,如果小于服务端,就说明App有新版本了,需要更新。
有一款插件可以获取到App的versionCode,安装方法如下:
1
cordova plugin add https://github.com/whiteoctober/cordova-plugin-app-version.git



获取versionCode:
1
2
3
cordova.getAppVersion.getVersionNumber(function (version) {
    alert(version);
});




完整的客户端和服务端代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//检查更新方法
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);

?>





回复

使用道具 举报

52

主题

528

帖子

1652

积分

金牌会员

Rank: 6Rank: 6

积分
1652
沙发
发表于 2015-9-21 22:32:10 | 只看该作者
感谢分享 好东西顶起
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

ionic4视频教程

Archiver|手机版|小黑屋| PhoneGap中文网 ( 京ICP备13027796号-1 )  

GMT+8, 2025-1-4 20:09 , Processed in 0.065631 second(s), 32 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表