Bmob自动更新

2017-12-27  本文已影响0人  梦乾tool

/*

这里是bmob自动更新的文档:http://docs.bmob.cn/android/autoupdate/index.html?menukey=otherdoc&key=autoupdate

Bmob的sdk里面不仅仅提供了对我们应用数据的操作,还提供自动更新组件。今天我就来说说在应用中加入自动更新功能。

1:首先我们要在应用中加入相关的资源什么的。

下载地址:Bmob下载地址自己去bmob官网看。www.bmob.cn

资源下载地址:http://www.bmob.cn/static/res.zip

然后我们把它全部的文件都移到自己的工程下。

2:添加相应的权限,如下所示:

还有Activity标签

*/

<activity

            android:name="cn.bmob.v3.update.UpdateDialogActivity"

              android:theme="@android:style/Theme.Translucent.NoTitleBar" >

        </activity>

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

/*

3:在OnCreate里面初始化sdk。

这里在bmob反馈功能那里我已经将的很清楚了。你们可以去看看。

*/

Bmob.initialize(this, 你的应用的appid);

/*

4:添加更新功能。

首先你得在你的bmob后台建立一个更新表,当然bmob也提供了方法一句代码建立表(记住建立更新表的代码调用一次即可。)

在OnCreate里面添加这句在bmob建立表。

*/

BmobUpdateAgent.initAppVersion(this);

/*

现在我们就可以调用更新代码了。

*/

BmobUpdateAgent.update(this);

//默认仅wifi更新,当然bmob也提供方法设置可用流量更新。

BmobUpdateAgent.setUpdateOnlyWifi(false)

/*

如果你的应用需要自定义更新功能可以这样做。

*/

BmobUpdateAgent.setUpdateListener(new BmobUpdateListener() {

@Override

public void onUpdateReturned(int updateStatus, UpdateResponse updateInfo) {

    //根据updateStatus来判断更新是否成功

if (updateStatus == UpdateStatus.Yes) {

wl("发现更新");

}else if(updateStatus == UpdateStatus.No){

wl("您已是最新版本");

}else if(updateStatus==UpdateStatus.IGNORED){

        wl("该版本已被忽略更新");

        }else if(updateStatus==UpdateStatus.TimeOut){

                wl("查询出错或查询超时");

                      }

}

})

/*

除此之外,还有很多可以自定义的功能。

SDK中为自动更新方式提供了强制更新功能,当开发者开启强制更新功能(即将后台的AppVersion表中的isforce字段置为true)时,客户端调用BmobUpdateAgent.update(context)方法后,更新对话框只保留“立即更新”按钮且不再支持回退操作。

*/

/*

忽略版本更新

SDK中为自动更新方式提供了忽略版本更新功能,当用户勾选”忽略该版“选项时,再次调用BmobUpdateAgent.update(context)则不再出现版本更新对话框。

注:强制更新和忽略版本更新只支持自动更新方式。

*/

/*bmob的后台的表对应。

字段名称 字段类型 是否必填 字段说明

update_log String 是 更新日志

version String 是 版本名称

version_i Number 是 版本号

platform String 是 平台,注意:"Android"为安卓平台标示,"ios"为ios平台标示

target_size String 是 Apk文件大小

isforce Boolean 否 是否强制更新

path File 是/否 Apk文件

android_url String 是/否 apk市场地址(path字段和本字段必填其中一个)

channel String 否 渠道标示

ios_url String 否 iOS app store地址(如果是ios记录一定要填写)

*/

/*

1、target_size为必填项,是为了解决当apk下载过程中切换网络导致的解析包出现错误的问题,请手动填入通过如下代码得到的target_size值(不需要单位):

long target_size = new File("sdcard/应用名.apk").length()

假如,上面的target_size的值为1023380,则只需要在target_size字段中填写1023380就行。

*/

//当然最后得奉上一个源码

//案例源码这里我们提供了一个使用BmobSDK自动更新功能的实例程序供大家参考。下载地址如下:https://github.com/bmob/bmob-android-demo-autoupdate

作者:梦乾

       

上一篇下一篇

猜你喜欢

热点阅读