一、客户端版本更新:
第一步:TimerUpdate#run()
客户端程序启动后定时(每小时)发送一个请求(设备ID,应用包名,平台【如Android】,多语言,版本号,系统版本号,手机厂商,Android 设备的CPU类型(通常称为”ABIs”)),向服务端获取更新信息(版本号、更新内容、apk下载地址,apk发布日期,apk包MD5值,是否强制更新,是否成功,错误信息,循环冗余检查)
实现了三种方法向服务器获取数据(url,json,pb)
第二步:checkUpdate(UpdateResult updateResult)
客户端通过拿到的版本号和本地的版本号进行比较,如果拿到的版本号比本地的版本号大,那就进行版本升级
1、强制更新为false的时候,则检查是否之前点击过 忽略此版本,
若没有点击过 忽略此版本,
计算 最后一次弹出更新提示框和当前时间相差多久,
若超过24小时,
执行第三步
若不超过24小时,不更新
若点击过 忽略此版本,则不更新
2、强制更新为true的时候,执行第三步。
第三步:showUpdateDialog(final Context context,UpdateResultresult)
弹出版本更新提示框,
1、若用户点击“立即升级”按钮开始下载apk,
2、若用户点击“忽略此版本”或者"取消"按钮,
忽略此版本”:BaseApp.getSetting().setIsIgnor