省流量更新SDK(热更新版本)使用指南 - GrouthDownload/TDownloadSDK GitHub Wiki
1.使用须知
本文默认读者掌握与Android相关的基本IDE使用以及基础编程知识,以Android Studio为例,详细说明腾讯下载SDK的接入以及使用方法。
1.1申请接入方标识
使用SDK功能前,需要申请appKey和appSecret。appKey和appSecret用来标识接入方,识别接入方的身份,用于数据传输的校验,使SDK正常工作。 申请接入方标识过程如下:
- 解压release版本APK包,在META-INF文件夹中获取CERT.RSA文件(META-INF/CERT.RSA)。
- 使用签名计算工具sig.jar(附件提供)计算签名信息(jar -jar sig.jar CERT.RSA),截取计算后签名前半部分作为签名信息(前后以|分割)。

- 将包名以及签名信息通过邮件发送 [email protected] 和 [email protected] ,后续会通过邮件的方式告知appKey和appSecret信息。邮件主题注明:产品名 + 省流量更新SDK appKey/appSecret申请
1.2SDK组件说明
热更新版本的省流量更新SDK接口能力均打包在aar文件内。主要包括:腾讯下载、跳应用宝下载和省流量更新,三个模块(前二个模块主要用于支持实现省流量更新能力)。
SDK下载链接:
r_1.0.0
2.腾讯下载SDK(热更新版本)使用说明
热更新版本的SDK使用和腾讯下载SDK基本一致,只是增加了SDK的初始化接口,因此本节主要介绍初始化动作,其他功能模块的使用说明参考非热更新版本即可。
2.1SDK初始化
在使用热更新版本SDK的任何功能接口之前,必须在sdk初始化成功之后才能进行。初始化动作如下:
I.SDK参数设置
public class DemoApp extends Application {
public static DemoApp app;
private String mAppKey = "Your AppKey";
private String mAppSecret = "Your AppSecret";
Map<String, String> mInitParam = new HashMap<>();
@Override
public void onCreate() {
super.onCreate();
app = this;
mInitParam.put(InitParam.APP_KEY, mAppKey);
mInitParam.put(InitParam.APP_SECRET, mAppSecret);
//连接测试服务器
mInitParam.put(InitParam.USE_DEBUG_SERVER, BuildConfig.SERVER_TYPE);
//self update sdk params
mInitParam.put(UpdateConst.INIT_PARAM.VIA, "VIA_FOR_SELF_UPDATE");
mInitParam.put(UpdateConst.INIT_PARAM.HOST_APP_CHANNEL_ID, "host_test_app_channel_id");
mInitParam.put(UpdateConst.INIT_PARAM.YYB_APK_CHANNEL_ID, "yyb_apk_test_channel_id");
}
public Map<String, String> getInitParam() {
return mInitParam;
}
}
该部分主要是填写SDK相关的常量参数,包括appkey和appSecret等。
II.初始化
初始化参数准备好之后,通过BasicServiceSDK#init接口完成初始化,初始化回调会通过BasicServiceSDK.InitListener异步通知给调用方:
final long t1 = System.currentTimeMillis();
BasicServiceSDK.get().init(DemoApp.app, DemoApp.app.getInitParam(), new BasicServiceSDK.InitListener() {
@Override
public void onInitFinished() {
long t2 = System.currentTimeMillis();
final long timeCost = (t2 - t1);
Log.i(TAG, "init time cost:" + timeCost + "ms");
//打开sdk内的日志,仅debug模式下才调用,release模式关闭
BasicServiceSDK.get().openSDKLog();
runOnUiThread(new Runnable() {
@Override
public void run() {
//do some job
}
});
}
});
2.2 省流量更新SDK功能模块使用
与非热更新版本一致,详细文档参考这里(虽然2.1中对sdk进行初始化,但并没有初始化热更新功能模块,因此热更新功能模块还需单独初始化)