获取APP最新版本的接口案例

时间:2023-03-08 21:04:50

思路:

  开发初期。安卓的应用可能没有上传到应用市场,可以把应用apk放到服务器上,供用户下载。把对应用的版本信息整理成为一个XML文件,放到服务器上,通过接口读取xml文件,获取有版本信息,然后安卓端判断版本是不是最新的,如果不是最新的提示用户升级。

XML文件内容:

<update>
<version>18</version>
<name>2.1.4</name>
<content>版本更新描述</content>
<url>http://app.xxxx.com/Public/apk/BusGCF.apk</url>
</update>

接口DEMO:

    //获取最新版本信息
public function getNewVersions($param){
$client = $param->client; //获取安卓的最新版本信息
if($client == "Android") {
$xml = "";
//打开文件
$f = fopen('http://app.xxxx.com/Public/apk/version.xml', 'r');
//循环读取文件的全部内容,每次读取4096个字符
while( $data = fread( $f, 4096 ) ) {
$xml .= $data;
}
//关闭一个打开文件
fclose( $f ); //上面读取数据
preg_match_all( "/\<update\>(.*?)\<\/update\>/s", $xml, $humans ); //匹配最外层标签里面的内容 foreach( $humans[1] as $k=>$human ) {
preg_match_all( "/\<version\>(.*?)\<\/version\>/", $human, $version ); //匹配出版本号
preg_match_all( "/\<content\>(.*?)\<\/content\>/", $human, $content ); //匹配新版本的描述
preg_match_all( "/\<name\>(.*?)\<\/name\>/", $human, $name ); //匹配出姓名
preg_match_all( "/\<url\>(.*?)\<\/url\>/", $human, $url ); //匹配出Url
} $r_version = $version[1][0];
$r_content = $content[1][0];
$r_name = $name[1][0];
$r_url = $url[1][0]; if($r_version == '' or $r_name == '' or $r_url == '') {
$array['status'] = 1;
$array['comment'] = '查询失败!';
return $array;
} $array['status'] = 0;
$array['comment'] = '查询成功';
$responseParameters['version'] = $r_version;
$responseParameters['content'] = $r_content;
$responseParameters['name'] = $r_name;
// $responseParameters['url'] = "http://app.xxxx.com/Public/apk/BusGCF.apk";
$responseParameters['url'] = $r_url;
$array['responseParameters'] = $responseParameters;
} return $array;
}