使用腾讯bugly实现应用自动更新提示

我们都知道,在app开发完成发版的时候,会上传到各个应用市场,来增加用户量,但是这些市场往往会有一个审核的周期,等审核通过之后才会推送给用户来下载,并且,当我们某个版本出现严重bug,或者新增了一个特色功能的时候,我们会希望用户很快就能更新我们最新的app,这时候就要用到 应用检测更新了。 通常,实现应用更新一般我们有两种方法。

第一种 自己搭建后台检测是否有更新

这种方法通常要求客户端启动后,在某个时机,利用当前版本的某些信息(版本号,渠道号等)来请求服务器,服务器处理后返回是否需要升级等信息。如果需要升级,则下载最新的App安装包进行安装。

第二种 利用现有的比较成熟的第三方框架

现有的用户量比较大的有友盟,腾讯bugly,讯飞平台等。

公司最开始用的是友盟自动更新 ,但是由于某些原因,10.15友盟会关闭自动更新这个服务,对比了几个比较成熟的第三方自动更新,最后决定使用bugly这个,集成和使用也比较简单,下面来详细介绍集成和使用步骤。

1.注册bugly账号以及添加产品

https://bugly.qq.com 这个网址直接用qq登录,然后点击右上角-我的产品,如果没有添加过产品的话,点击 新建产品 ,

新建产品

然后会跳转到另一个页面:

新建产品详情

带星号的是必填选项,当我们把必填信息填写完成后,点击最下方的保存按钮即可保存。 此时再次点击右上角-我的产品,就会看到我们新建的这个产品了,点击某个产品,会跳转到产品详情界面,在右上角-更多-产品设置中可以查询到改产品的AppId,这里就不放图了。

2.在项目中集成

1.新建一个项目,在app目录下的gradle文件中添加如下配置: defaultConfig 下:

ndk { 
//设置支持的SO库架构 
abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
 }

dependencies 下:

compile 'com.tencent.bugly:crashreport_upgrade:latest.release'//其中latest.release指代最新版本号,也可以指定明确的版本号,例如1.0.0 
compile 'com.tencent.bugly:nativecrashreport:latest.release' //其中latest.release指代最新版本号,也可以指定明确的版本号,例如2.2.0

2.AndroidMainfest相关配置

权限配置:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_LOGS" /><!--保存资源到SD卡--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Activity配置:

<activity android:name="com.tencent.bugly.beta.ui.BetaActivity" android:theme="@android:style/Theme.Translucent" />

混淆:

-keep public class com.tencent.bugly.**{*;}

3.代码中使用

在应用初始化的时候调用Bugly.init(getApplicationContext(), "注册时申请的APPID", false)即可。

3.在bugly后台发布新版本

在bugly后台我们点击某个产品,会进入产品详情页面,

产品详情

点击应用升级-发布新升级,这时会弹出一个对话框,让我们选择升级的设置(策略),这里直接放一张官网的图:

创建升级策略

可以看到,我们可以设置很多升级相关的内容: 1.升级方式-用户选择升级或者强制升级。 2.弹窗样式-可以简单的向用户展示版本信息,更新日志等,也可以添加图片banner给用户,诱导升级。 3.高级配置-升级的触发时机等(某些渠道单独升级,在某个时间段才弹窗提示用户升级等。)

设置完成后点击 创建策略 ,然后刷新 应用升级 页面,会看到我们创建的策略。

拥有的升级策略

我这个升级策略已经启动了,如果你的没有启动,将鼠标放到策略的 状态与操作 栏下,会提示你进行开启。当策略开启后,客户端打开以后,默认在3s后检测是否有新版本,如果检测到的话,就会弹窗提示用户升级。

注意:发布升级的版本的版本号必须大于客户端已安装版本的版本号,否则将会检测不到新版本。

以上是使用bugly进行版本升级的最基本的使用方法,我们还可以有一个复杂的操作,比如在代码中添加多渠道 以支持按渠道升级等。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏极乐技术社区

探究小程序插件

前段时间,微信释放了小程序插件功能。有了它,小程序开发者就可以通过这个功能,强化自身小程序能力;小程序服务提供商也可以用它,为开发者、用户提供强大的小程序功能支...

1170
来自专栏伪君子的梦呓

电脑使用 Vysor 控制手机

想用安卓手机一步一步演示个东西给别人看的时候,恰巧遇到对方不在身边;安卓手机上的东西想投影到 Windows 电脑上,用电脑控制手机,却没找到合适的方式;上班时...

1294
来自专栏北京马哥教育

Linux下删除大量文件

? Linux下删除大量文件 首先建立50万个文件 ➜ test for i in $(seq 1 500000);do echo text >>$i....

3695
来自专栏腾讯Bugly的专栏

《移动端本地 H5 秒开方案探索与实现》

对 APP 里的一些使用 H5 实现的功能模块,一般体验都比原生差,那么怎么提高h5加载速度?优化 h5 体验?

1.1K13

面向网站的Google Analytics

Google Analytics 提供与您网站的访问者流量和营销情况相关的详细统计信息,让您更好地了解您的受众群体。对于任何有志于增加访问者群体的网站所有者来说...

885
来自专栏张戈的专栏

替代crontab,统一定时任务管理系统cronsun简介

摘 要 cronsun 是一个分布式任务系统,单个节点和 Linux 机器上的 crontab 近似。是为了解决多台 Linux  机器上 crontab 任...

1.2K13
来自专栏向治洪

Hera-将小程序打包成移动APP的开发框架

继移动APP之后,小程序作为当前移动的有一个入口为大家所推崇,不管是微信的小程序还是支付宝的小程序,其实现的思路都是一致的,即通过一个宿主来运行相关的JS页面。...

6847
来自专栏Golang语言社区

gobox中的simplecache和levelcache

1、在使用时,如果set的值是引用类型,那么改变引用的对象的值时,cache中的内容也会改变,这一点要特别注意。

892
来自专栏北京马哥教育

Linux 命令大全,都在这里!

糖豆贴心提醒,本文阅读时间3分钟,文末有秘密! ? 编辑 | 糖豆 图 | 来源网络 ? 1、文件管理catchattrchgrpchmodchow...

3616
来自专栏Jerry的SAP技术分享

微信程序开发系列教程(三)使用微信API给微信用户发文本消息

这个系列的第二篇教程,介绍的实际是被动方式给微信用户发文本消息,即微信用户关注您的公众号时,微信平台将这个关注事件通过一个HTTP post发送到您的微信消息服...

2682

扫码关注云+社区