友盟强制更新

简介: 公司项目选择了umeng的更新功能和,统计插件,而由于版本的管理,使得需要针对某些版本进行强制更新。比如上个版本出现了重大问题,必须进行版本升级才能修复,产品架构有了重大调整,数据结构发生了变化导致原先的app无法解析等等情况。

     公司项目选择了umeng的更新功能和,统计插件,而由于版本的管理,使得需要针对某些版本进行强制更新。比如上个版本出现了重大问题,必须进行版本升级才能修复,产品架构有了重大调整,数据结构发生了变化导致原先的app无法解析等等情况。但是查过umeng的产品文档,点击跳转地址为

坑爹的umeng竟然没有强制更新功能,在目前的方法中无法实现强制更新。想想都开始打算做一个下载接口了,自己实现强制更新了。。。

    再查了次umeng的替代方案,发现有一个这样方式,通过在后台设置在线参数,然后在app中对在线参数进行处理,将升级对话框中响应事件设置监听器,完成强制更新的功能。

首先看下后台设置在线参数地址:点击跳转

 

 

然后在app中嵌入一下代码,参考

 1  UmengUpdateAgent.setUpdateOnlyWifi(false);
 2         String upgrade_mode = MobclickAgent.getConfigParams(this, "upgrade_mode");
 3  
 4         if(TextUtils.isEmpty(upgrade_mode)){
 5             return;
 6         }
 7         String[] upgrade_mode_array = upgrade_mode.split(";");
 8         UmengUpdateAgent.setUpdateOnlyWifi(false);
 9         UmengUpdateAgent.update(MainActivity.this);
10         UmengUpdateAgent.forceUpdate(MainActivity.this);//这行如果是强制更新就一定加上
11         for(String mode:upgrade_mode_array){
12             String versionName = ((MyApplication)getApplication()).getVersionName();
13             versionName = versionName + "f";
14             if(mode.equals(versionName)){
15                 //进入强制更新
16                 UmengUpdateAgent.setUpdateListener(new UmengUpdateListener() {
17 
18                     @Override
19                     public void onUpdateReturned(int updateStatus, UpdateResponse updateResponse) {
20                         
21                     }
22                 });
23                 UmengUpdateAgent.setDialogListener(new UmengDialogButtonListener() {
24                     @Override
25                     public void onClick(int status) {
26 
27                         switch (status) {
28                             case UpdateStatus.Update:
29 
30                                 break;
31                             default:
32                                 //退出应用
33                                 MyApplication.base_logs.shortToast(getString(R.string.force_update_toast_string));
34                                 ((MyApplication) getApplication()).AppExit(MainActivity.this);
35                         }
36                     }
37                 });
38                 break;
39             }
40         }

这里

UmengUpdateAgent.forceUpdate(MainActivity.this); 这行很重要,不加上这条,看看界面如何:

这里可以选择忽略改版,然后即使代码规定点击以后再说,也不会退出应用程序。
反过来加上这句代码看看界面如何:


这里没有忽略改版,然后点击以后再说,就会退出应用程序。
再次吐槽umeng的东西现在体验性不友好啊。


 
目录
相关文章
|
4月前
|
运维 调度 数据库
快讯~数据推送已上架 DataStudio 数据开发,与工作流完美结合
数据推送日前已在数据服务页面上提供全托管式的推送服务,基于同样的底层推送架构,我们将推送的能力也搬上了数据开发 (DataStudio),结合数据开发已有的工作流,提供了简单推送、合并推送、脚本推送及条件推送等四大推送能力,用户能在既有的工作流上弹性组装四种方式的推送。
94 0
快讯~数据推送已上架 DataStudio 数据开发,与工作流完美结合
|
6月前
|
人工智能 小程序 大数据
【社区每周】交易组件新增API接口及产品面对面即将开播(5.29-6.2)
【社区每周】交易组件新增API接口及产品面对面即将开播(5.29-6.2)
159 11
|
6月前
|
设计模式 小程序 安全
【社区每周】商家分账接入指南更新;基础库新增抽象节点功能及上周问题反馈(2月第二期)
【社区每周】商家分账接入指南更新;基础库新增抽象节点功能及上周问题反馈(2月第二期)
181 11
|
6月前
|
开发框架 小程序 物联网
社区每周丨交易组件全面升级及订单中心模板更新(6.26-6.30)
社区每周丨交易组件全面升级及订单中心模板更新(6.26-6.30)
157 11
|
6月前
|
存储 缓存 API
阿里巴巴中国站1688商品详情API实时数据获取:从零基础到精通的全程指南
随着电子商务的快速发展,实时数据获取在商业决策中扮演着越来越重要的角色。阿里巴巴中国站作为国内领先的B2B平台,提供了丰富的API接口供开发者使用。本文将重点介绍如何通过阿里巴巴中国站的1688商品详情API实现实时数据获取,并给出相应的代码示例。
|
存储 安全 搜索推荐
宜搭版本调整通知(更新)
宜搭一直致力于为用户提供更优质的使用体验。为了更好地满足广大用户需求,宜搭将于2023年7月3日进行版本调整。
11777 3
宜搭版本调整通知(更新)
|
监控 安全 机器人
实时监控github上新增的cve和安全工具更新,多渠道推送通知
实时监控github上新增的cve和安全工具更新,多渠道推送通知
891 0
实时监控github上新增的cve和安全工具更新,多渠道推送通知
|
Dubbo Cloud Native Java
数据变更白屏化利器-推送轨迹上线
微服务引擎MSE面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持Nacos/ZooKeeper/Eureka)、云原生网关(原生支持Ingress/Envoy)、微服务治理(原生支持Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。
数据变更白屏化利器-推送轨迹上线
友盟强制更新
公司项目选择了umeng的更新功能和,统计插件,而由于版本的管理,使得需要针对某些版本进行强制更新。比如上个版本出现了重大问题,必须进行版本升级才能修复,产品架构有了重大调整,数据结构发生了变化导致原先的app无法解析等等情况。
990 0
|
编解码 iOS开发
ios开发:友盟移动数据统计分析详解
基本指标主要包括:新增用户、启动次数、时段累计日活、分时活跃用户 每个指标都包括具体数值、相对于昨天的增长率。 每个指标都分:今日、昨日、7天前、30天前四个折线图提供分析。
442 0
ios开发:友盟移动数据统计分析详解