友盟下线后,开发者该如何实现自动更新
来源:互联网 发布:python range函数菜鸟 编辑:程序博客网 时间:2024/05/21 01:51
开发者们可能都注意到,友盟从2016年开始大规模下线了他们的产品,例如:反馈功能、在线参数、自动更新。
原因可能是因为应用市场的进一步规范吧,笔者也就不瞎猜了。今天和大家分享一下在友盟“倒下”后,开发者们该如何实现自动更新功能。
其实自动更新的原理非常简单,就是通过检测服务器的最新版本号与当前版本号进行对比,若有更新则提示用户进行下载更新。
有能力的同学自己写一份代码其实也不难,核心部分是检测更新和下载机制,至于UI,就看自己定制了,简单的可以Dialog解决,美观的可以自己完全设计View。
但是大多数同学可能没有这个精力去把时间花在这上面,最好还是希望找到一个现成的解决方案。
笔者不推荐第三方服务,原因:第三方如果和友盟一样哪天下线了呢,还有,第三方闭源sdk谁知道它到底干了什么...
【后台部分】
因此,你需要一个自己的服务器,Web托管也行,云服务器也行,笔者推荐阿里云或新浪云,稳定又便宜,适合小规模开发使用。
你完全可以在服务器上放一个txt,写上最新版本、下载地址等,但那样太土了。
因此我们可以建立一个数据库,构建自己的自动更新体系。
数据库格式可参考如下:
然后编写一个php(看个人喜好咯)文件,接受一个get参数appid,返回包含所有列的json对象。
核心代码就一句:
$sql="select * from app_update where appid = ".$appid;
【客户端部分】
然后就是安卓端(本篇不讨论iOS)的代码编写,笔者推荐Github上的开源库,笔者尝试过一些,最终还是相对比较喜欢国人编写的一个插件:
UpdatePlugin
https://github.com/yjfnypeu/UpdatePlugin
如果你使用AndroidStudio,那么可以直接在gradle添加:
compile 'org.lzh.nonview.updateplugin:UpdatePlugin:0.5'
如果你使用Eclipse,那么可以下载git上的zip包,将updatepluginlib中的所有java代码,还有R资源中的字符串资源全都复制到你的工程。
然后,在你的程序中添加配置代码:
再在你需要检查更新的地方添加:
UpdateBuilder.create().check(MainActivity.this);
作者提供了:是否弹出对话框、是否强制更新、是否自动安装、是否显示进度条等功能,非常完善,唯一的缺点是只用了自带UI,在低版本安卓SDK下非常难看。
这样,自己的一套更新体系就制作完毕啦,每次你制作一款新的App,只需要给它定义一个appid,并且在后台数据库添加它的最新版本信息,然后简单复制下安卓代码,就ok啦!
当然咯,这样做的缺点自然就是要确保服务器稳定,但同样也是优点:
一切尽在自己的掌控之中!
- 友盟下线后,开发者该如何实现自动更新
- iOS自动更新如何实现
- Android如何实现APP自动更新
- 实现SVN提交后自动更新目录
- 实现SVN提交后自动更新目录
- 无法开启开发者工具,该如何处理
- 前端开发者该如何应用数据库
- 中国移动wlan如何下线
- WAF该如何实现?
- 实现强制下线功能
- 强制下线通知实现
- Android 自动更新 替代友盟自动更新
- 开发者在对项目失去信心后,该做什么?
- 如何实现点击字体或者滑动到该模块后 实现字体变色 效果
- 友盟自动更新
- 友盟自动更新步骤
- android 友盟自动更新
- 友盟自动更新
- POJ-1125-Stockbroker Grapevine
- LRU算法
- window远程连接Ubuntu 14.04的桌面
- 2. Add Two Numbers
- POJ-1511 Invitation Cards
- 友盟下线后,开发者该如何实现自动更新
- volatile and mutable and extern
- SLAM的前世今生
- POJ 2251 Dungeon Master(三维BFS)
- Android Menu菜单浅析
- ACID
- fgfdg
- 线程的优先级
- x265-10bit的配置