腾讯应用宝自更新SDK使用指南
新版AndroidSDK无法通过旧版本管理工具升级,怎么安装新版

新版AndroidSDK无法通过旧版本管理工具升级,怎么安装新版
由于使用AndroidSDK.exe安装工具进行安装时,可能会出现长时间安装后仍未成功,或安装失败,因此尝试了另一种安装方式,即将整个安装好的SDK压缩打包,需要安装时解压即可。
AndroidSDK.zip百度网盘密码:i5zp
使用上,下载完成后还需要两步:
1. 配置系统环境变量ANDROID_HOME
2. GeneXus中指定AndroidSDK目录
如果不是单纯的全新安装AndroidSDK,而是切换,在修改之后需要全编译项目使新的版本生效。
随着AndroidSDK的管理被集成到AndroidStudio中,已经没有单独的SDK管理工具。
如果要进行Android开发,需要安装新版AndroidSDK,安装步骤如下:
1. 下载AndroidSDKTools
点击下载
2. 下载GeneXusAndroidSDK 安装工具
点击下载
3. 管理员身份运行CMD,进入AndroidSDK.exe所在目录,执行以下命令
AndroidSDK.exeSDKTOOLSURL=<SdkUrl>
<SdkUrl>即AndroidSDKTools的zip包所在位置,目录名称不要包含中文
说明:
AndroidSDK.exe在安装SDK时,先下载安装文件压缩包,之后解压并安装。
压缩包文件下载时可能会因为网络问题出现下载失败,因此,先将压缩文件下载下来,然后指定安装程序安装时下载文件的路径,即可解决。
注意:
如果单独执行AndroidSDK.exe,可能会出现如下错误:。
腾讯信鸽推送AndroidSDK快速指南

腾讯信鸽推送AndroidSDK快速指南信鸽Android SDK是⼀个能够提供Push服务的开发平台,提供给开发者简便、易⽤的API接⼝,⽅便快速接⼊。
⽬前⽀持Android 2.2及以上版本系统。
本⽂档将引导⽤户以最快的速度嵌⼊信鸽SDK。
注册&下载SDK前往前台信鸽⾸页,使⽤QQ号码登陆,打开注册页⾯,填写“应⽤名称”和“应⽤包名”(必须要跟APP⼀致),选择“操作系统”和“分类”,最后点击“创建应⽤”。
应⽤创建成功后,点击“应⽤配置”即可看到APP专属的AccessId和AccessKey等信息。
10min demo regi.png注册完成后,请下载最新版本的Android SDK到本地,并解压。
⼯程配置以eclipse为开发的IDE为例,将SDK导⼊到⼯程的步骤为:1、创建或打开Android⼯程(关于如何创建Android⼯程,请参照开发环境的章节)。
2、将信鸽 SDK⽬录下的libs⽬录所有⽂件拷贝到⼯程的libs(或lib)⽬录下。
3、选中libs(或lib)⽬录下的信鸽jar包,右键菜单中选择Build Path,选择Add to Build Path将SDK添加到⼯程的引⽤⽬录中。
4、打开Androidmanifest.xml,添加以下配置(建议参考下载包的Demo修改),其中YOUR_ACCESS_ID和YOUR_ACCESS_KEY替换为APP对应的accessId和accessKey,请确保按照要求配置,否则可能导致服务不能正常使⽤。
<application<!-- APP项⽬的其它配置... --><!-- 【必须】信鸽receiver⼴播接收 --><receiverandroid:name="com.tencent.android.tpush.XGPushReceiver"android:process=":xg_service_v2" ><intent-filter android:priority="0x7fffffff" ><!-- 【必须】信鸽SDK的内部⼴播 --><action android:name="com.tencent.android.tpush.action.SDK" /><action android:name="com.tencent.android.tpush.action.INTERNAL_PUSH_MESSAGE" /><!-- 【必须】系统⼴播:开屏和⽹络切换 --><action android:name="ER_PRESENT" /><action android:name=".conn.CONNECTIVITY_CHANGE" /><!-- 【可选】⼀些常⽤的系统⼴播,增强信鸽service的复活机会,请根据需要选择。
TOP-SDK使用说明

自动化SDK使用指南目录一、新SDK的介绍 (1)二、为什么要使用最新的SDK (1)三、如何使用最新的SDK (2)1、新SDK的目录结构 (2)2、SDK命名规则 (3)3、SDK使用代码示例(java版,php版,.net版) (3)4、高级功能 (6)四、下载SDK的地址 (6)一、新SDK的介绍淘宝开放平台最新的SDK是由程序通过API的结构、业务数据等自动化生成的代码包,目前支持主流的三种语言版本(java、php、.net)。
是淘宝开放平台为了减少广大开发者使用API的开发成本而提供的一种开发工具包,其中包含了已经开放的API的请求、加密、返回解析等一些必要的功能。
二、为什么要使用最新的SDK最新的自动化SDK区别之前的版本(前期为人工手写的代码),有着以下多种优势:1、SDK代码全自动化生成,完全和对外公开的API文档一致2、自动化生成,避免人工编写产生的Bug3、在每次API升级发布后,会及时自动升级各语言SDK版本,并向下保持兼容4、SDK提供了一些基本协议级的封装,提高API访问成功率5、错误日志自动打印,错误发生时可完全收集现场数据三、如何使用最新的SDK1、新SDK的目录结构JAVA SDK目录结构.NET SDK目录结构2、SDK命名规则a)数据结构类名与API线上文档中完全一样b)API请求类名:去掉api名字中的”taobao”,把”.”后的首字母大写,再掉所有的”.”号,并加上”Request”,即为最终的类名。
比如er.get对应的请求类的类名为UserGetRequest。
c)API返回结果类名:去掉api名字中的”taobao”,把”.”后的首字母大写,再掉所有的”.”号,并加上”Response”,即为最终的类名。
比如er.get对应的响应类的类名为UserGetResponse。
3、SDK使用代码示例(java版,php版,.net版)JAVA版本●不需要登录(sessionKey)的API调用T aobaoClient client = new DefaultTaobaoClient(url, appkey, secret);UserGetRequest req = new UserGetRequest();req.setFields("nick,sex,buyer_credit,seller_credit ,created,last_visit");req.setNick("hz0799");UserGetResponse response = client.execute(req);if (response.isSuccess()) {System.out.println(response.getUser().getNick());} else {// deal error}●需要登录(sessionKey)的API调用client.execute(req, sessionKey);●有文件上传的API调用FileItem img = new FileItem(file);// FileItem为SDK包里封装好的一个类itemAddRequest.setImage(img);PHP版本⏹实例化API Client//实例化TopClient类$c = new TopClient;$c->appkey = "你的appkey";$c->secretKey = "你的secret code";⏹不需要登录(sessionKey)的API调用/*********************************** OOP风格的使用方式,下面还有传统的数组方式**********************************///实例化具体API对应的Request类$req = new UserGetRequest;$req->setFields("nick,sex,buyer_credit,seller_credit");$req->setNick("hz0799");//执行API请求并打印结果$resp = $c->execute($req);⏹需要登录(sessionKey)的API调用//实例化具体API对应的Request类$req = new UserGetRequest;$req->setFields("nick,sex,buyer_credit,seller_credit, birthday");//这行和上面不同,登录用户可以获取隐私字段$req->setNick("hz0799");//执行API请求并打印结果$resp = $c->execute($req, $sessionKey);//这行和上面不同⏹有文件上传的API调用$req = new TaobaoItemImgUploadRequest;$req->setNumIid(12345678);$req->setImage('@C:\my_picture\item_1.jpg');//附件上传的机制参见PHP CURL文档,在文件路径前加@符号即可$resp = $c->execute($req);print_r($resp);⏹传统的数组方式调用(适合已有APP迁移到PHP SDK的客户)/*********************************** 非OOP风格的使用方式, 兼容已有的PHP应用**********************************/$req_array = array("method" => "taobao.items.search","fields" => "iid,title","q" => "ipad","page_size" => 3,"location.city" => "杭州");$resp = $c->exec($req_array);print_r($resp);.NET版本⏹不需要登录(sessionKey)的API调用ITopClient client = new DefaultTopClient("url", "appkey", "appsecret");UserGetRequest req = new UserGetRequest();req.Fields = "user_id,nick,created,buyer_credit,type,sex";req.Nick = "helloworld";UserGetResponse rsp = client.Execute(req);if (rsp.IsError){Console.WriteLine(rsp.Body);}⏹需要登录(sessionKey)的API调用ITopClient client = new DefaultTopClient("url", "appkey", "appsecret");TradeGetRequest req = new TradeGetRequest();req.Fields = “tid,seller_nick,buyer_nick”;req.Tid = 129318293L;TradeGetResponse rsp = client.Execute(req, sessionKey);⏹有文件上传的API调用ITopClient client = new DefaultTopClient("url", "appkey", "appsecret");ItemAddRequest req = new ItemAddRequest();req.Image = new FileItem(“c:/temp.jpg”);ItemAddResponse rsp = client.Execute(req, sessionKey);4、高级功能SDK支持设置客户端的请求超时时间,设置方法为使用支持传入超时参数的构造函数来构造DefaultTaobaoClient,如:public DefaultTaobaoClient(String serverUrl, String appKey, String appSecret, String format,int connectTimeout,int readTimeout)其中:connectTimeout为连接超时,readTimeout为读取数据超时。
腾讯云点播 播放器 SDK 手册 产品文档说明书

【版权声明】©2013-2017 腾讯云版权所有本文档著作权归腾讯云单独所有,未经腾讯云事先书面许可,任何主体不得以任何形式复制、修改、抄袭、传播全部或部分本文档内容。
【商标声明】及其它腾讯云服务相关的商标均为腾讯云计算(北京)有限责任公司及其关联公司所有。
本文档涉及的第三方主体的商标,依法由权利人所有。
【服务声明】本文档意在向客户介绍腾讯云全部或部分产品、服务的当时的整体概况,部分产品、服务的内容可能有所调整。
您所购买的腾讯云产品、服务的种类、服务标准等应由您与腾讯云之间的商业合同约定,除非双方另有约定,否则,腾讯云对本文档内容不做任何明示或模式的承诺或保证。
文档目录文档声明 (2)播放器 SDK 手册 (4)点播播放综述 (4)超级播放器 Android (5)超级播放器 iOS (10)超级播放器 Web (14)Web 视频播放器综述 (14)使用文档 (16)开发文档 (31)播放器 SDK 下载 (37)播放器 SDK 手册点播播放综述概述腾讯云点播提供了移动端和 Web 端播放器。
开发者可以快速集成,以极为简单的方式播放点播中的视频。
特点仅需要视频在点播中的 fileId 即可播放,简单快速。
如果视频经过转码,播放器在播放视频时会自动展示出多种清晰度供用户选择(流畅、标清、高清、超清等)。
如果视频开启了视频播放控制(视频加密、Referer 防盗链和 Key 防盗链),播放器可以正常支持。
场景点播播放器仅用于播放发布在腾讯云点播中的视频,不适用于播放其他平台的视频资源。
移动端播放器提供 Android 和 iOS 平台的 SDK,适合在移动端 APP 中集成点播视频的播放功能。
Web 端播放器集成在 Web 服务器,用于客户端(PC 和移动端)通过浏览器观看点播视频。
(Web播放器尚未发布,敬请期待)超级播放器 Android功能介绍超级播放器是基于TXVodPlayer实现的集视频信息拉取、横竖屏切换、清晰度选择、弹幕等功能于一体的解决方案,且完全开源。
Android-SDK接入-YSDK(应用宝1.7.0)

Android-SDK接⼊-YSDK(应⽤宝1.7.0)SDK接⼊-YSDK(应⽤宝1.7.0)-2021-01-07 ⼤家好,近期在做多渠道打包平台,会定期遇到第三⽅SDK升级,所以很被动的是,我们也要跟随他们的步伐,及时升级。
否则将⾯临第三⽅开发者站⽆法过审的问题。
之前我整理了 CodeReview 系列的博客,今天开始会抽时间整理第三⽅SDK接⼊的系列问题。
当然,CodeReview系列的还会进⾏下去。
应⽤宝SDK的接⼊其实还是很繁琐的,各种参数的配置,还需要注意区分沙盒环境的配置和现⽹环境的配置的不同区别。
今天我分享⼏个典型的问题:1.沙盒环境和现⽹环境最容易出现的错误:MidasPay 的沙盒环境下的 appKey 其实和 qqAppKey的值是相同的,但本质上者俩个东西是独⽴的,所以在切换到现⽹环境后,⼀定要注意,千万别把动qqAppKey。
erLoginRet flag:3100;get login ret failed, on login recrod in db!其实3100错误在 YSDK 的官⽹解释是本地票据不可⽤,引导⽤户重新登录。
同时也给出了检测⽅案,⽐如参数核对,包名是否⼀致、签名是否⼀致等等。
但是⼤多情况下,⼤家应该不会出像这些问题。
让我们来看下详细的⽇志: 异常详细信息:2021-01-06 20:56:03.623 8897-8897/? D/YSDK_DOCTOR: OK-notifyWakeupAsync2021-01-06 20:56:03.623 8897-8897/? D/YSDK UserModule: mUserListener.OnWakeupNotify2021-01-06 20:56:03.623 8897-8897/? D/YSDK UserModule: notifyWakeupAsync finished2021-01-06 20:56:14.992 8897-8971/? D/YSDK b$a.run: TaskDispatcher run2021-01-06 20:56:14.993 8897-8971/? D/YSDKDuration: Game time Duration :1202021-01-06 20:56:14.993 8897-8971/? D/YSDK_USER_WX: WX OK-getLoginRecord2021-01-06 20:56:14.993 8897-8971/? D/YSDK_USER_WX: getWXUserLoginRet2021-01-06 20:56:14.993 8897-8971/? D/YSDK_USER_WX: UserLoginRet flag:3100;get login ret failed, on login recrod in db!2021-01-06 20:56:14.993 8897-8971/? D/YSDK_USER_WX: WXUserLoginRet2UserLoginRet2021-01-06 20:56:14.993 8897-8971/? D/YSDK_USER_WX: WX OK-getLoginRecord2021-01-06 20:56:14.993 8897-8971/? D/YSDK_USER_WX: getWXUserLoginRet2021-01-06 20:56:14.993 8897-8971/? D/YSDK_USER_WX: UserLoginRet flag:3100;get login ret failed, on login recrod in db!2021-01-06 20:56:14.993 8897-8971/? D/YSDK_USER_WX: WXUserLoginRet2UserLoginRet上⾯的异常信息发⽣在微信调起后,然后点击授权后,发现app并没有收到回调,也就是 YSDK OnLoginNotify ⽅法没有被回调。
将APP发布到腾讯应用宝

将APP发布到腾讯应用宝开发者资质接入前提条件应用申请上线前,请确认开发者资质证明已符合接入规范,才可以将开发者创建的应用提交上线。
开发者资质证明清单APP接入标准APP详情信息设计规范APP内容及功能规范开发者银行信息填写规范开发商财务信息需正确填写,避免因信息填写错误而导致财务付款失败。
发布应用1. 进入创建应用页面如果您刚完成开发者注册(详见开发者注册),则注册验证成功后会跳转到以下页面。
点击下图中的“创建应用” 按钮,即可开始创建应用。
如果您之前已经创建过应用,则登录后在管理中心首页即可看到创建应用的按钮。
如下图所示:弹出窗口,此时选择需要创建的应用类型,如下图:2. 创建应用填写应用名称和分类,点击“创建应用” 按钮即可:官方标签申请流程规范1.背景为了更好地为开发者提供应用标签服务,应用宝团队规划了官方标签展示功能。
应用申请官方标签后可在应用宝客户端的搜索智能联想、搜索列表页、应用详情页等展示官方标签。
2.申请规则申请官方标签的应用需符合以下规则:1. 应用所属开发者为星级开发商;2. 应用申请了软件著作权(需提供软件著作权证明);3. 应用经过GOOGLE PLAY签名验证(需提供GOOGLE PLAY的前后台截图证明);4. 若特许行业需同时提供资质证明的应用,如支付类应用、资讯类应用、视频类应用等提供授权许可证明。
3.申请方式开发者需要提供软件著作权、GOOGLE PLAY的前后台截图以及特许行业授权许可证明等一种或多种发送到alarmapp@申请,申请核实后会对应用打上官方标签。
审核工作日大约2~3个工作日,请耐心等待。
4. 官方标签展示/应用详情页应用消耗游戏币购买道具一般流程支付FAQ :1.android版本要求?该支付SDK支持android2.1及以上版本2.SDK支付完成后,能否通知应用充值数量及是否充值成功?Q点Q币、Q卡是实时到账,财付通渠道、快捷、手机充值卡为非实时到账,所以SDK也无法实时确定发货成功。
SDK使用说明范文

SDK使用说明范文一、SDK简介SDK(Software Development Kit,软件开发工具包)是一组开发工具和资源的集合,用于帮助开发者创建应用程序。
SDK提供了开发所需的应用程序接口(API)、示例代码、文档等。
SDK可以大大简化开发过程,提高开发效率。
二、SDK的安装和配置2.配置开发环境需要根据开发环境配置SDK。
例如,在Windows上,需要在系统环境变量中设置SDK的路径。
三、SDK的导入在开发工具中导入SDK,可以使用SDK提供的API进行开发。
1.创建新项目打开开发工具,创建一个新项目。
2.导入SDK在项目中添加SDK,可以通过添加依赖库或引入外部库的方式导入。
四、SDK的使用SDK提供了各种功能的API供开发者使用。
以下是一些常见的SDK使用方法。
1.初始化SDK在应用程序的入口处,调用SDK提供的初始化方法,完成SDK的初始化。
可以根据需要进行必要的配置。
2.登录与认证在用户登录模块中,调用SDK提供的登录与认证API,实现用户的身份认证与管理。
3.数据获取与处理使用SDK提供的API,获取所需的数据。
可以进行数据解析、处理与展示等。
4.事件与回调SDK通常提供事件与回调机制,用于处理异步操作或接收SDK返回的数据。
需要注册相应的事件监听器或回调函数。
5.功能扩展与定制SDK通常提供了一些扩展和定制功能的接口,开发者可以根据需要,自定义SDK的功能与行为。
五、SDK的调试与测试在开发过程中,调试和测试是不可或缺的环节。
1.调试开发者可以使用开发工具提供的调试功能,结合SDK的调试日志,来定位和解决开发中的问题。
2.测试开发者可以编写单元测试或集成测试,来验证SDK的使用是否符合预期,并检查各种边际情况下的功能表现。
六、SDK的更新与升级随着软件的发展和需求变化,SDK也需要进行更新和升级。
一般来说,开发者可以通过以下方式更新SDK:1.官方渠道更新开发者可以定期查看官方网站、论坛或邮件列表,了解最新版本的SDK发布信息。
openwrt sdk用法

openwrt sdk用法OpenWrt SDK(Software Development Kit)是一套用于开发和构建 OpenWrt 软件包的工具集。
使用 OpenWrt SDK 允许您在 OpenWrt 源代码的基础上进行自定义开发,添加新的软件包或修改现有软件包。
以下是 OpenWrt SDK 的常见用法:1. 下载 SDK:从 OpenWrt 官方网站下载适用于您的平台的SDK 包,解压缩到本地目录。
2. 配置环境:进入 SDK 目录,在命令行中输入 `./scripts/feeds update -a` 更新软件包列表,再输入 `./scripts/feeds install -a` 安装所有可用的软件包。
3. 选择和配置软件包:使用 `make menuconfig` 命令选择和配置要编译的软件包。
通过此命令可以定制编译选项,包括添加或删除软件包、修改编译参数等。
4. 构建软件包:输入 `make package/<package_name>/compile V=s` 命令来构建指定软件包。
替换 `<package_name>` 为要构建的软件包名称。
5. 生成固件或 IPK 包:执行 `make V=s` 命令来构建整个固件或 IPK 包。
最终生成的固件或 IPK 包位于 build_dir 目录下。
6. 安装软件包:将生成的 IPK 包拷贝到 OpenWrt 设备上,使用 `opkg install` 命令进行安装。
这些是 OpenWrt SDK 的基本用法,具体的用法还可根据项目需求进行进一步的定制和开发。
详细的使用说明可参考OpenWrt 官方文档或开发者社区。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
应用宝自更新sdk使用指南平台产品中心2017年2月10日目录1. 创建您的应用12. 下载该SDK的zip包13. 搭建开发环境1 3.1.在Eclipse中建立你的工程 (1)3.2.添加jar包并编译 (1)3.3.AndroidManifest.xml 设置 (2)4. 使用自更新功能2 4.1.初始化Manager (3)4.2.实现自更新状态监听器和应用宝下载状态监听器 (3)4.3.开始自更新 (5)4.4.释放资源 (5)4.5.只检查更新信息 (6)4.5.更新接口使用示例 (6)5. 更多功能8 5.1.检查应用宝是否存在 (8)5.2.取消应用宝下载 (9)5.3.检查应用宝是否已经下载完成 (9)5.4.开始预下载应用宝 (9)注:本文为Android平台的新手使用教程,只涉及教授SDK的使用方法,默认读者已经熟悉IDE 的基本使用方法(本文以Eclipse为例),以及具有一定的编程知识基础等。
1.创建您的应用请到开发者页面创建应用,并获取平台分配的appid。
如已有相同包名的应用,则直接在管理页面进行应用认领操作。
2.下载该SDK的zip包请到产品介绍页下载应用宝第三方调用SDK的zip包,该开发工具包主要包含4部分内容:1)API文档(供开发者查阅)2)Demo(供开发者参考)3)Jar包(包含所有的API功能接口)4)使用指南(供开发者快速接入)3.搭建开发环境3.1.在Eclipse中建立你的工程3.2.添加jar包并编译在工程中新建一个libs目录(如不存在),并将zip中的tmassistantsdk_selfupdate*.jar包copy 到你的工程libs目录下面右击工程,并选择buildPath,选择该jar并add to build Path:注意:如果eclipse安装应用到手机的时候报如下的错误NoClassDefFoundError(protocol.jce.*):ng.NoClassDefFoundError: com.tencent.tmassistantsdk.internal.protocol.jce.StatStdReport说明接入的宿主应用没有压缩包中的jce.jar包,请把jce这个jar包添加到工程libs下面。
3.3.AndroidManifest.xml 设置添加必要的权限支持:<uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>还需要声明下载过程中会用到的serivce:<service android:name="com.tencent.tmdownloader.TMAssistantDownloadService"android:exported="false"android:process=":TMAssistantDownloadSDKService" />4.自更新功能接口介绍我们为调用方提供了两种自更新方式可供选择:1)跳转到应用宝中进行自更新,如果用户没安装应用宝,则会先自动下载并安装应用宝,安装完成后再跳转到应用宝进行自更新。
应用宝提供了强大的下载和管理功能,可以快速便捷地帮助用户下载更新包。
2)直接使用SDK进行自更新,仅提供简单的自更新逻辑,不提供自更新任务的管理等功能,如下载过程中的暂停,取消,重新开始等。
3)资源包更新(直接在应用中更新),提供资源包更新的目录,4.1.初始化Manager自更新的功能主要通过调用TMSelfUpdateManager中的接口实现。
使用自更新SDK前,必须对其进行初始化。
可以参考以下初始化的代码:// 自更新sdk初始化TMSelfUpdateManager selfUpdateManager = TMSelfUpdateManager.getInstance();try {Context context = getApplication();//application的contextString channelid = "990483"; //应用宝渠道包的渠道号,申请方法请参见《腾讯应用宝自更新SDK产品介绍》中的产品接入步骤step1ITMSelfUpdateListener selfupdateListener = new ITMSelfUpdateListener(){//实现请参考下一小节实现自更新状态监听器部分的内容};//自更新状态监听器YYBDownloadListener yybDownloadListener = new YYBDownloadListener() {//实现请参考下一小节实现应用宝下载状态监听器部分的内容};//应用宝下载状态监听器Bundle bundle = null;//附加参数的bundle,一般情况下传空,可以由外部传入场景信息等,具体字段可参考TMSelfUpdateConst. BUNDLE_KEY_* 的定义selfUpdateManager.init(context, channelid, selfupdateListener, yybDownloadListener, bundle);} catch (Exception e) {e.printStackTrace();}4.2.实现自更新状态监听器和应用宝下载状态监听器自更新状态监听器(ITMSelfUpdateListener),是用于监听当前更新包的下载状态变化的回调接口。
应用宝下载状态监听(YYBDownloadListener),是用于监听应用宝的下载状态变化的回调接口,只在跳应用宝进行自更新的时候才会被使用。
这两个监听器在初始化Manager中已经作为参数传入进行注册,需要开发者在回调方法中实现自定义的业务逻辑。
1)实现自更新状态监听器ITMSelfUpdateListener:private ITMSelfUpdateListener selfupdateListener = new ITMSelfUpdateListener() { @Overridepublic void onDownloadAppStateChanged(final int state, final int errorCode, final String errorMsg) {//TODO 更新包下载状态变化的处理逻辑}@Overridepublic void onUpdateInfoReceived(TMSelfUpdateUpdateInfo arg0) {//TODO 收到更新信息的处理逻辑}@Overridepublic void onDownloadAppProgressChanged(final long arg0, final long arg1){ //TODO 更新包下载进度发生变化的处理逻辑}};2)实现应用宝下载状态监听器YYBDownloadListener:private YYBDownloadListener yybDownloadListener = new YYBDownloadListener() { @Overridepublic void onDownloadYYBStateChanged(String url, final int state, int errorCode, String errorMsg) {//TODO 应用宝下载状态变化的处理逻辑}@Overridepublic void onDownloadYYBProgressChanged(final String url, final long receiveDataLen, final long totalDataLen) {//TODO 应用宝下载进度变化的处理逻辑}};4.3.开始自更新调用开始自更新接口即可开始自更新:selfUpdateManager.startSelfUpdate(isUseYYB);其传入的参数说明如下:(1)isUseYYB为true时,使用省流量更新,跳应用宝进行自更新,在应用宝已安装的情况下,会call起调用方app的应用宝详情页,让用户下载更新;在应用宝未安装的情况下,会下载最新的应用宝,必须在Activity的onResume()方法中调用onActivityResume()方法,安装完成应用宝后才会继续call起调用方app的应用宝详情页,让用户下载更新:@Overrideprotected void onResume() {super.onResume();try {selfUpdateManager.onActivityResume();} catch (Throwable e) {e.printStackTrace();}}(2)isUseYYB为false时,无需下载应用宝,使用sdk一条龙服务进行普通更新,包含检查更新、Apk的下载、合成等。
不需要调用onActivityResume()方法。
4.4.释放资源在TMSelfUpdateManager中提供了destroy( )接口进行资源清理,包括移除已经注册过的监听器。
所以在不再使用自更新功能时建议主动调用destroy( )释放资源,例如在调用方的Activity的OnDestroy()中释放资源:@Overrideprotected void onDestroy() {super.onDestroy();selfUpdateManager.destroy();}4.5.只检查更新信息在TMSelfUpdateManager中提供了checkSelfUpdate接口来检查更新信息,更新信息异步回调到ITMSelfUpdateListener中,在onUpdateInfoReceived方法中接受相关的信息。