制作APP关于APP版本更新功能设计的解决方法详解,深圳APP开发公司本文主要与各位探讨APP制作的功能项以及APP和服务器交互,服务器端功能 服务器端应实现以下功能。可以从电脑上选择并上传APK到服务器。可以编辑和显示更新日志。可以自动读取APK中的渠道号、版本号和APK大小。可以更新和删除上传到服务器的APK,也可以暂停更新功能。
可以配置通用版本和特定渠道版本(特定渠道版本指适用于360、豌豆荚或应用宝等某个软件商店的版本)。可以配置更新提示的间隔时间和提示次数。可以配置需要升级的手机机型、手机中的Android系统版本、IP地址和区域等。可以针对特定类别的用户更新版本,实现灰度升级,如安装了特定渠道APK的用户、特定型号手机的用户、特定IP地址的用户和特定地区的用户等。可以配置是否强制升级。
关于APP端功能APP端应实现以下功能。
用户可以手动更新版本,也可以设置是否自动更新,默认为开启状态。如果设置自动更新,则在APP启动、显示首页后自动提示用户更新版本。
上传渠道号信息、机型、APP版本号和包名等信息给服务器。如果服务器端配置是强制升级,则APP启动后,用户必须要升级,否则不能使用APP。
关于APP和服务器交互APP和服务器的交互过程如下所述。
如果是自动更新,APP启动并进入首页后,向服务器发送POST请求,把APP的渠道号、用户手机型号、APP版本号和包名等信息发给服务器;如果是用户手动更新,则用户点击相关功能菜单后,APP向服务器发送POST请求,把APP的渠道号、用户手机型号、APP版本号和包名等信息发给服务器。发送数据的具体格式如下:{ " jsonrpc":" 2. 0", " params":{ " channel":" xxxx",
" model":" xxxx", " version":" xxxx" " packagename":" xxxx" } }
"channel":渠道号,如果值为"",表示是通用版本更新。"model":手机型号。"packagename":app的包名。服务器收到请求后的响应。
(1)服务器收到请求后,如果处理成功,返回如下数据。
{ "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包生成的MD5值,用于校验APK包数据的完整性。(APP从服务器下载完APK包后,计算出MD5值,并和从服务器获取的MD5值比较是否一致;只有一致,才会安装下载的APK包,否则提示出错。)"title":提示框标题栏显示的文字"changes":服务器端的更新日志"upgrade":800—客户端版本低于"version"的值,就提示升级,但不强制升级801—强制升级"interval":显示提示信息的时间间隔,以小时为单位,不支持小数;默认为24小时
"limitTimes":显示提示信息次数,不支持小数;如为0,则没有限制
(2)如果处理失败,返回如下数据。
{ "jsonrpc": "2. 0", "result": { "error": "xxxxxx" } }
如果服务器返回处理成功的数据,APP把从服务器取得的版本号和自身版本号进行对比,并按“upgrade”的各种数值进行不同的处理;如果服务器返回处理失败的数据,APP仅显示给用户提示信息。好了,APP开发公司本文关于“制作APP关于版本更新功能设计的解决方法详解”的APP制作知识就分享到这里,谢谢关注,博纳网络编辑整理。