友盟在线参数+自动更新升级SDK实现指定版本强制更新升级

项目上有这样的需求:对指定的版本要求强制升级,同时其它的版本可以选择性升级。

友盟的自动更新功能还是挺好用的,只不过对强制升级这块支持的还不到位。

不过友盟的开发人员也给出了勉强可行的方案:

使用友盟在线参数来控制哪些版本需要强制更新,哪些版本不需要

相关的内容如下:

1.在线参数配置:

http://dev.umeng.com/analytics/android/advanced-integration-guide#3

2.强制更新官方代码:

https://github.com/nxzhou91/umeng-android-sdk-theme/blob/master/blogs/articles/force_update.md

3.我的做法:

配置在线参数,参数值配置规则:版本号,强制更新标志,版本号,强制更新标志,版本号,强制更新标志...

关键代码:

[java] view plaincopy

    1. private void prepare4UmengUpdate() {
    2. MobclickAgent.updateOnlineConfig( MyApplication.getContext() );
    3. //获取友盟在线参数
    4. String update_mode = MobclickAgent.getConfigParams( MyApplication.getContext(), "upgrade_mode" );
    5. Log.d(TAG, "MainActivity.prepare4UmengUpdate, update_mode = " + update_mode);
    6. if(StringUtils.isEmpty(update_mode)) {
    7. return;
    8. }
    9. //转换为数组
    10. mUpdateModeArray = StringUtils.convertStrToArray(update_mode);
    11. UmengUpdateAgent.setUpdateOnlyWifi(false); //在任意网络环境下都进行更新自动提醒
    12. UmengUpdateAgent.update(this);  //调用umeng更新接口
    13. String curr_version_name = null;
    14. try {
    15. curr_version_name = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
    16. }
    17. catch (NameNotFoundException e) {
    18. // TODO Auto-generated catch block
    19. e.printStackTrace();
    20. }
    21. for(int i=0; i<mUpdateModeArray.length; i+=2 ) {
    22. if(StringUtils.isEquals(mUpdateModeArray[i], curr_version_name)) {
    23. if(StringUtils.isEquals(mUpdateModeArray[i + 1], "F"))  {
    24. //对话框按键的监听,对于强制更新的版本,如果用户未选择更新的行为,关闭app
    25. UmengUpdateAgent.setDialogListener(new UmengDialogButtonListener() {
    26. @Override
    27. public void onClick(int status) {
    28. switch (status) {
    29. case UpdateStatus.Update:
    30. break;
    31. default:
    32. //友盟自动更新目前还没有提供在代码里面隐藏/显示更新对话框的
    33. //"以后再说"按钮的方式,所以在这里弹个Toast比较合适
    34. Toast.makeText(MyApplication.getContext(),
    35. "非常抱歉,您需要更新应用才能继续使用", Toast.LENGTH_LONG).show();
    36. }
    37. }
    38. });
    39. }
    40. break;  //只要找到对应的版本号,即结束循环
    41. }
    42. }
    43. }

友盟在线参数+自动更新升级SDK实现指定版本强制更新升级

时间: 2024-12-24 00:31:02

友盟在线参数+自动更新升级SDK实现指定版本强制更新升级的相关文章

从友盟微社区看Android第三方SDK架构实践【转载】

从友盟微社区看Android第三方SDK架构实践[转载] “先写在前面吧,本来想通过链接来转载这篇文章,发现没找到有相关的按钮.上网查了一下,都说博客园没有这功能.我在博客园也有一段时间了,鼓励原创是必须的,不过适当的转载也算是一种将有价值的文章进行分享的方式,不知道以后会不会支持呢!” 原文链接:http://www.csdn.net/article/2015-05-08/2824648-micro-community 摘要:第三方SDK的开发需要考虑很多因素,比如稳定性.灵活性等,并且还要做

ubuntu16.04 安装指定版本Node,升级npm到指定版本

一.安装配置Node 1.下载(64位系统) wget https://nodejs.org/download/release/v4.4.7/node-v4.4.7-linux-x64.tar.gz 2.解压配置环境变量 export NODE_HOME=/opt/node-v4.4.7-linux-x64export PATH=$NODE_HOME/bin:$PATH 3.查看node版本 [email protected]:~$ node -vv4.4.7 二.升级NPM到指定版本 npm

Ubuntu 14.0 升级内核到指定版本

1.卸载现有内核sudo apt purge linux-headers-* linux-headers-*-generic linux-image-*-generic linux-image-extra-*-generic linux-signed-image-*-genericReplace * with the kernel versions (for instance : 4.4.0-36) from the output of the command. 例如: sudo apt pur

实现友盟在线统计--日志跟踪

#pragma mark --- 初始化 -(void) initUMengSDK { [MobClick startWithAppkey:umeng_app_key reportPolicy:BATCH channelId:nil];    [MobClick checkUpdateWithDelegate:self selector:@selector(displayUpdateNote:)]; //注册在线参数更新的通知    [[NSNotificationCenter defaultC

Android--版本检测升级(友盟SDK)

项目上有这样的需求:对指定的版本要求强制升级,同时其它的版本可以选择性升级. 友盟的自动更新功能还是挺好用的,只不过对强制升级这块支持的还不到位. 不过友盟的开发人员也给出了勉强可行的方案: 使用友盟在线参数来控制哪些版本需要强制更新,哪些版本不需要 相关的内容如下: 1.在线参数配置: http://dev.umeng.com/analytics/android/advanced-integration-guide#3 2.强制更新官方代码: https://github.com/nxzhou

友盟新功能介绍:在线参数-备用

作为开发者您是否也碰到过这些挠头问题: 刚上线不久的应用就要修改说明文字?应用添加广告后,如何平衡用户流失和广告收入情况?如何对游戏中的道具进行合理定价? 为帮助开发者告别频繁地更新应用版本,更好的比较版本之间的用户行为及习惯,友盟针对Android开发者新推出在线参数功能.通过在线参数功能,开发者可以远程动态修改应用中的参数值,灵活调整运营策略.iOS版本近期推出. 获得更多信息和体验在线参数功能请访问www.umeng.com 什么是在线参数 在线参数是友盟推出的新功能,可以让您动态修改应用

友盟推出“数据工场”助跑开发者,“用户评级”和“微社区”齐亮相

今天,友盟推出了新战略“友盟数据工场”和数据产品“用户评级”.业界500多名开发者与我们一同见证了这一时刻.在此,感谢大家的支持!同时,想把我们最新的动态分享给所有盟友. “数据工场”能给开发者带来什么价值? 友盟高级技术总监叶谦介绍了“数据工场”的运转流程,其挖掘系统构建在开源大数据处理平台,通过设备识别.行为分析.设备评级等手段,日夜不停地对近十亿移动设备数据进行挖掘和分析,产出包括用户属性标签.用户兴趣标签.用户地理位置 POI .移动设备标识体系在内的多个数据成果. 这些数据挖掘成果将不

Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件

Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件 上一篇博客给大家介绍了如何分析网页并且使用jsoup这个库对html代码进行解析,本篇博客继续给大家介绍如何集成友盟社会化组件,如何使用SDK提供的API轻松实现多平台的社会化分享,官网的文档和Demo看起来很头疼的有木有,小巫在集成这个社会化的组件也有点烦躁,所以也需要各位耐心看下面的博文把友盟社会化组件集成到你的应用中去.为什么要选择友盟呢,这里也是答应了小喵的,要帮忙集成他们的服务,所以也顺带帮他们写一篇这样的博文,千

友盟(一)了解umeng并添加应用和测试设备信息

一.umeng产品介绍 1.开发组件 ?社会化组件 集成多个应用平台的分享功能,类似于SHareSDK,但是功能不如ShareSDK强大,Umeng的强大在于数据统计. ?用户反馈组件 友盟提供的用户反馈组件和服务,可以帮助开发者与用户顺畅地进行双向互动. ?自动更新组件 如果发布的市场渠道比较多,更新版本的工作就比较繁琐.友盟提供的自动更新组件可以实现多渠道的同步更新,让用户及时使用最新的产品. ?消息推送 帮助开发者建立与用户直接沟通的渠道.将app的版本更新.通知等消息主动的推送给用户,让