私有api:升级检查版本比较
私有api,提供app检查新版本的功能。
纯数字好比较,如何比较1.0.1和1.0.2?
业务逻辑:用户版本比最新版本低时,提示升级。
同时支持这两种,代码如下:
<?php /** * 检测最新版本 */ function isSecondBigger($first, $second) { //纯数字比较 if(is_numeric($first) && is_numeric($second)) { if($second > $first) { return true; } else { return false; } } //x.x.x.x比较 if(stripos($second, '.') !== false) { $f = explode('.', $first); $s = explode('.', $second); $count = count($f); foreach($f as $k => $v) { //比如1.0比2.0 if($s[$k] > $v) { return true; } //前面几位相等没关系,最后一位必须大于 //比如1.0.5比1.0.8 if(($count == $k+1) && ($s[$k] > $v)) { return true; } } } return false; } $v = '1.0.5'; //用户版本 $latest = '1.0.8'; //最新版本 $is_need_update = false; if(isSecondBigger($v, $latest)) { $is_need_update = true; } var_dump($is_need_update); ?>
api:http://api.example.com/latest?app_id=1&v=1.0.2&wlt=zh-Hans
输入:
app_id:私有api为本公司的多个app分配id,比如Andriod、iPhone、iPad、PC各有一个。
v:用户安装的版本号
wlt:文字代号,比如ios使用的en_US、zh-hant、zh_CN等等,Android使用的zh_CN、zh、zh_TW等等,由后端进行映射处理,app端直接取系统值传过来即可。
参考资料:
http://developer.android.com/reference/java/util/Locale.html