省流量更新接入

目录

1.申请渠道号

请联系产品QQ:65406815,获得配的channelID,用于后续数据观察和统计。

2.下载

请到产品介绍页下载最新YSDK相应的zip包
点击此处下载接入Demo
点击此处下载接口文档
点击此处下载补充jar

3.搭建开发环境

3.1.在AndroidStudio中建立你的工程

3.2.添加YSDK aar包并编译

 把YSDK_Android*.aar包copy至工程的libs目录下:

xuqiu_3_5_p1.jpg

 编辑工程中module对应的build.gradle脚本:

xuqiu_3_5_p2.jpg

 脚本修改完成之后点击上方提示的“Sync Now”:

xuqiu_3_5_p3.jpg

3.3.混淆脚本设置(其他SDK接入省流量SDK时使用,普通app不需要)

-dontwarn com.tencent.**
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep class com.tencent.beaconselfupdate.** {*;}
-keep class com.tencent.hlyyb.** {*;}
-keep class com.tencent.tmapkupdatesdk.** {*;}
-keep class com.tencent.tmassistantbase.** {*;}
-keep class com.tencent.tmdownloader.** {*;}
-keep class com.tencent.tmassistantsdk.** {*;}
-keep class com.tencent.tmselfupdatesdk.** {*;}
-keep class com.tencent.yybsdk.apkpatch.** {*;}
-keep class com.tencent.assistant.sdk.remote.**{public protected private *;}
-keep public interface com.tencent.tmassistantbase.common.download.ITMAssistantDownloadClientListener{*;}
-keep class com.qq.** {*;}

3.4.AndroidManifest.xml 设置

 添加必要的权限支持:

xuqiu_3_5_p4.jpg

 还需要声明下载过程中会用到的serivce:

xuqiu_3_5_p5.jpg
如果接入的是external的架包需要注册external包名对应服务:

  com.tencent.external.tmdownloader.TMAssistantDownloadService

4.自更新功能接口介绍

我们为调用方提供了两种自更新方式可供选择:
1)跳转到应用宝中进行自更新,如果用户没安装应用宝,则会先自动下载并安装应用宝,安装完成后再跳转到应用宝进行自更新。应用宝提供了强大的下载和管理功能,可以快速便捷地帮助用户下载更新包。
2)直接使用SDK进行自更新,仅提供简单的自更新逻辑,不提供自更新任务的管理等功能,如下载过程中的暂停,取消,重新开始等。
3)资源包更新(直接在应用中更新),提供资源包更新的目录。

4.1.初始化Manager

 自更新的功能主要通过调用TMSelfUpdateManager中的接口实现。使用自更新SDK前,必须对其进行初始化。可以参考以下初始化的代码:

xuqiu_3_5_p6.jpg

4.2.实现自更新状态监听器和应用宝下载状态监听器

自更新状态监听器(ITMSelfUpdateListener),是用于监听当前更新包的下载状态变化的回调接口。应用宝下载状态监听(YYBDownloadListener),是用于监听应用宝的下载状态变化的回调接口,只在下载应用宝和检测应用宝下载状态的时候才会被使用。这两个监听器在初始化Manager中已经作为参数传入进行注册,需要开发者在回调方法中实现自定义的业务逻辑。 1)实现自更新状态监听器ITMSelfUpdateListener:
xuqiu_3_5_p7.jpg
2)实现应用宝下载状态监听器YYBDownloadListener:
xuqiu_3_5_p8.jpg
xuqiu_3_5_p9.jpg

4.3.State参数说明

xuqiu_3_5_p10.jpg
xuqiu_3_5_p11.jpg

4.4.开始自更新

调用开始自更新接口即可开始自更新:
xuqiu_3_5_p12.jpg
其传入的参数说明如下:
(1)isUseYYB为true时,使用省流量更新,跳应用宝进行自更新,在应用宝已安装的情况下,会call起调用方app的应用宝详情页,让用户下载更新;在应用宝未安装的情况下,会下载最新的应用宝,必须在Activity的onResume()方法中调用onActivityResume()方法,安装完成应用宝后才会继续call起调用方app的应用宝详情页,让用户下载更新:
xuqiu_3_5_p13.jpg
(2)isUseYYB为false时,无需下载应用宝,使用sdk一条龙服务进行普通更新下载全量包,包含检查更新、Apk的下载等。不需要调用onActivityResume()方法。

4.5.释放资源

  在TMSelfUpdateManager中提供了destroy( )接口进行资源清理,包括移除已经注册过的监听器。所以在不再使用自更新功能时建议主动调用destroy( )释放资源,例如在调用方的Activity的OnDestroy()中释放资源:

xuqiu_3_5_p14.jpg

4.6.只检查更新信息

 在TMSelfUpdateManager中提供了checkSelfUpdate接口来检查更新信息,更新信息异步回调到ITMSelfUpdateListener中,在onUpdateInfoReceived方法中接受相关的信息。

4.7.更新接口使用示例

1.检查有没最新版本checkSelfUpdate:
xuqiu_3_5_p15.jpg
2.在ITMSelfUpdateListener监听的onUpdateInfoReceived中处理checkSelfUpdate回调:
xuqiu_3_5_p16.jpg
xuqiu_3_5_p17.jpg
xuqiu_3_5_p18.jpg
xuqiu_3_5_p19.jpg
这里根据检查更新的回调返回的升级信息判断服务器有没新版本以及更新类型是普通更新还是省流量更新,并由此决定展示的升级弹窗的类型。<br==

5.更多功能

 除上述功能以外,TMSelfUpdateManager还提供了更多的功能。

5.1.检查应用宝是否存在

xuqiu_3_5_p20.jpg

 如果需要获取当前手机上应用宝的安装状态,TMSelfUpdateManager为你提供了检查应用宝是否正常安装的接口checkYYBInstallState (),可以根据该接口的返回值判断应用宝是否安装(具体返回值的含义请参考接口文档)。

5.2.开始预下载应用宝

xuqiu_3_5_p21.jpg

 传递的参数代表是否下载完成后进行安装,下载的进度等信息仍然会回调到mDownloadYYBCallback中。

5.3.检查应用宝是否已经下载完成

xuqiu_3_5_p22.jpg

 是否已经下载成功的结果会异步返回给调用方,在

xuqiu_3_5_p23.jpg

5.4.取消应用宝下载

xuqiu_3_5_p24.jpg
开始下载应用宝后,调用上述方法就可以终止下载应用宝。

 至此您已经了解了YSDK中省流量更新的基础API,如需了解详细的省流量更新的接口以及参数定义,请参照接口文档说明。如有问题请发邮件到careyjwang@tencent.com,cannaguo@tencent.com。

附录

注1:应用宝渠道号(SELF_UPDATE_CHANNEL)用于应用宝侧统计接入方集成的省流量更新SDK为应用宝带来的新增量。如果需要特殊区分你们带来的新增,则需要联系省流量更新SDK产品分配一个,如果不用区分,则使用以上默认值即可。
注2:TMSelfUpdateConst.BUNDLE_KEY_SCENE字段对应的值表示场景名称,一般接入方不需要设置。如果接入方需要区分省流更新执行的场景,则在不同场景初始化时给TMSelfUpdateConst.BUNDLE_KEY_SCENE字段设置不同的值即可。 常见问题:

 1.使用普通升级下载无反应

a) 未注册Service

 确认SDK下载服务被正确注册,包名中含有external的架包需要注册:
    com.tencent.external.tmdownloader.TMAssistantDownloadService;
 正常架包需要注册:
    com.tencent.tmdownloader.TMAssistantDownloadService

b) 本地apk签名和应用宝数据源中apk签名不一致

 本地测试用的apk可能使用的是debug的签名,而上传至应用宝后台的包使用的是release签名,这种情况也会导致普通升级无法安装的问题。

联系方式

如在接入过程中,有任何疑问和建议,欢迎联系
陈海汐hiseachen
QQ号:245304564
省流量更新测试流程示意.png

以上信息是否解决您的问题?

Copyright © 1998 - 2019 Tencent. All Rights Reserved.

腾讯公司 版权所有

有问必答 返回顶部