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

思路:

  开发初期。安卓的应用可能没有上传到应用市场,可以把应用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;
    }
原文地址:https://www.cnblogs.com/wangyuman26/p/5922974.html