友盟强制更新

简介: 公司项目选择了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的东西现在体验性不友好啊。


 
目录
相关文章
|
3月前
|
小程序 IDE API
社区每周丨小程序基础库更新至 2.8.21及小程序商品新增商品营销功能(9.11-9.15)
社区每周丨小程序基础库更新至 2.8.21及小程序商品新增商品营销功能(9.11-9.15)
136 1
|
3月前
|
设计模式 小程序 安全
【社区每周】商家分账接入指南更新;基础库新增抽象节点功能及上周问题反馈(2月第二期)
【社区每周】商家分账接入指南更新;基础库新增抽象节点功能及上周问题反馈(2月第二期)
131 0
|
4月前
|
JSON 分布式计算 API
淘宝/天猫获得淘宝商品详情 API 如何实现实时数据获取?
随着电商行业的快速发展,越来越多的商家开始将业务拓展到线上。而淘宝作为中国最大的电商平台之一,其商品数量和交易额均居于世界前列。因此,对于商家来说,了解商品的实时信息非常重要,可以帮助他们更好地管理商品、制定营销策略等。本文将介绍如何使用淘宝/天猫的商品详情API接口来实现实时数据获取。
|
4月前
|
存储 JSON API
淘宝/天猫商品详情实时数据API技术实现
随着电子商务的蓬勃发展,对于电商平台的商家而言,实时获取商品数据变得至关重要。通过API接口,可以轻松地从电商平台获取这些数据。本文将详细介绍如何使用淘宝/天猫提供的API接口实现商品详情数据的实时获取,并给出具体的代码示例。
|
4月前
|
存储 缓存 API
阿里巴巴中国站1688商品详情API实时数据获取:从零基础到精通的全程指南
随着电子商务的快速发展,实时数据获取在商业决策中扮演着越来越重要的角色。阿里巴巴中国站作为国内领先的B2B平台,提供了丰富的API接口供开发者使用。本文将重点介绍如何通过阿里巴巴中国站的1688商品详情API实现实时数据获取,并给出相应的代码示例。
|
5月前
|
存储 安全 搜索推荐
深入探索服装网商品详情API:实时数据获取、安全与隐私保护及商业价值实践
服装网商品详情API将为商家提供更多机会和竞争优势。然而,需要注意的是,在利用API进行商业应用时,应遵守相关法律法规和平台规定,确保数据的合法性和隐私保护。同时,对于API的使用也应当进行合理的规划和资源分配,避免过度依赖或滥用API导致不必要的风险和损失。
|
5月前
|
存储 供应链 安全
淘宝/天猫商品API:实时数据获取与安全隐私保护的指南
随着电子商务的快速发展,淘宝/天猫等电商平台已成为商家和消费者的重要交易场所。对于电商企业而言,实时掌握店铺商品的销售情况、库存状态等信息至关重要。然而,手动管理和更新商品信息既费时又费力。因此,淘宝/天猫提供的商品API成为商家实时获取商品数据的关键工具。本文将介绍如何利用淘宝/天猫的商品API实现实时数据获取,并提供相关代码示例。
|
11月前
|
监控 数据挖掘 API
API技术分享帖:如何获取电商平台实时数据?
API技术分享帖:如何获取电商平台实时数据?
|
监控 安全 机器人
实时监控github上新增的cve和安全工具更新,多渠道推送通知
实时监控github上新增的cve和安全工具更新,多渠道推送通知
756 0
实时监控github上新增的cve和安全工具更新,多渠道推送通知
|
Dubbo Cloud Native Java
数据变更白屏化利器-推送轨迹上线
微服务引擎MSE面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持Nacos/ZooKeeper/Eureka)、云原生网关(原生支持Ingress/Envoy)、微服务治理(原生支持Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。
数据变更白屏化利器-推送轨迹上线