蒲公英app自动更新

2,466 阅读1分钟

依赖:

maven { url "https://raw.githubusercontent.com/Pgyer/mvn_repo_pgyer/master" }
------------------------------------------------------------------------------
implementation 'com.pgyersdk:sdk:3.0.10'

AndroidManifest.xml配置

依赖形式不用配fileprovider

代码

//使用蒲公英的自动更新
        /** 新版本  */
        PgyUpdateManager.Builder()
            .setForced(true) //设置是否强制提示更新,非自定义回调更新接口此方法有用
            .setUserCanRetry(false) //失败后是否提示重新下载,非自定义下载 apk 回调此方法有用
            .setDeleteHistroyApk(false) // 检查更新前是否删除本地历史 Apk, 默认为true
            .setUpdateManagerListener(object : UpdateManagerListener {
                override fun onNoUpdateAvailable() {
                    //没有更新是回调此方法
                }

                override fun onUpdateAvailable(appBean: AppBean) {
                    //有更新回调此方法
                    //调用以下方法,DownloadFileListener 才有效;
                    //如果完全使用自己的下载方法,不需要设置DownloadFileListener
                    AlertDialog.Builder(this@QLoginActivity)
                        .setTitle("更新")
                        .setCancelable(false)//自定义啦,设置强制更新
                        .setMessage(appBean.releaseNote)
                        .setNegativeButton(
                            "下载"
                        ) { dialog, which ->
                            PgyUpdateManager.downLoadApk(appBean.downloadURL)
                        }.show()
                }

                override fun checkUpdateFailed(e: Exception) {
                    //更新拒绝(应用被下架,过期,不在安装有效期,下载次数用尽)以及无网络情况会调用此接口
                }
            })
            .register()