使用KongzueUpdateSDK配合Fir.im完成应用内更新

首先注册 Fir.im

https://www.betaqr.com/

点击右上角的菜单中,获取 API token

获取 API token

上传 APK,点击上方的基本信息,并获取APP ID:

APP ID

进入 Android Studio,集成 KongzueUpdateSDK,如果没有网络框架,可选集成 BaseOkHttpV3

https://github.com/kongzue/KongzueUpdateSDK
https://github.com/kongzue/BaseOkHttpV3

//更新框架
implementation 'com.kongzue.kongzueupdatesdk:kongzueupdatesdk:3.0.0'
//BaseOkHttp V3 网络请求库
implementation 'com.kongzue.baseokhttp_v3:baseokhttp_v3:3.1.7'
//BaseJson 解析库
implementation 'com.kongzue.basejson:basejson:1.0.4'

然后请求 Fir.im 的更新地址,判断版本,并拉取下载地址并更新:

//检查更新
HttpRequest.build(me, "http://api.fir.im/apps/latest/" + {这里写APP ID})
        .addParameter("api_token", {这里写你的API token})
        .setJsonResponseListener(new JsonResponseListener() {
            @Override
            public void onResponse(JsonMap main, Exception error) {
                if (error == null) {
                    int ver = main.getInt("version");
                    if (ver > BuildConfig.VERSION_CODE) {
                        String updateLog = main.getString("changelog");
                        if (isNull(updateLog)) updateLog = "修复了一些bug";

                        //生成更新源
                        UpdateInfo updateInfo = new UpdateInfo()
                                .setInfo(updateLog)
                                .setVer(main.getString("versionShort"))
                                .setDownloadUrl(main.getString("installUrl"));
                        
                        //启动更新窗口
                        new UpdateUtil(me, BuildConfig.APPLICATION_ID)
                                .showNormalUpdateDialog(updateInfo,
                                        "检查到更新(" + updateInfo.getVer() + ")",
                                        null,
                                        "直接下载",
                                        "取消");
                    } else {
                        //无需更新处理
                    }
                } else {
                    //请求失败处理
                }
            }
        })
        .doGet();

完事。

你可能感兴趣的:(使用KongzueUpdateSDK配合Fir.im完成应用内更新)