APP开发实战

APP开发实战135-APP版本更新之APP和服务器交互

2017-06-06  本文已影响39人  xjbclz

35.3APP和服务器交互

1 如果是自动更新,APP启动并进入首页后,向服务器发送POST请求,把APP的渠道号和用户手机型号信息发给服务器。

如果是用户手动更新,则用户点击相关功能菜单后,APP向服务器发送POST请求,把APP的渠道号和用户手机型号信息发给服务器。

具体数据格式如下:

{

"jsonrpc":"2.0",

"params":{

"channel":"xxxx",

"model":"xxxx",

"version":"xxxx"

}

}

"channel":渠道号,如果值为"",表示是通用版本更新

"model":手机型号

2 服务器收到请求后,如果成功响应,返回如下数据:

{

"jsonrpc":"2.0",

"result":{

"url":"http://xxx/xxx.apk",

"version":"1.0.1",

"size":xxxx,

"fileMd5":"xxxxxxxx",

"title":"xxxxxxxx"

"changes":"xxxxxxxx"

"upgrade":800,

"interval":24,

"limitTimes":99

}

}

"fileMd5": 用于校验APK包数据的完整性

(APP从服务器下载完APK包后,计算出MD5值,并和从服务器获取的MD5值比较是否一样)

"title": 提示框标题栏显示的文字

"changes": 显示服务器端的更新日志

"upgrade":800—客户端版本低于"version"的值,就提示升级,但不强制升级

801—强制升级

"interval": 显示提示信息的时间间隔,以小时为单位,不支持小数;

"limitTimes": 显示提示信息次数,不支持小数;如为0,则没有限制

如果出错,返回如下数据:

{

"jsonrpc":"2.0",

"result": {

"error":"xxxxxx"

}

}

3 如果服务器返回成功响应的数据,APP端把从服务器取得的版本号和自身版本号进行对比,并按"upgrade"的各种数值进行不同的处理。

如果服务器返回出错信息,APP不进行任何处理。

上一篇下一篇

猜你喜欢

热点阅读