# AbleCloud Android SDK

## 1.简介
AbleCloud Android API。
此文件为适用于安卓设备的SDK，可用于开发安卓设备上的APP

[开发文档](http://docs.ablecloud.cn/current/android/site/introduction/)

## 2.发布历史
当前版本：v1.6.3



#### v1.6.3 - 2018.11.05

1. 增加获取设备wifi信号强度的功能
2. ap配网增加方法
3. 设备订阅的gateway地址升级为https
4. 修复已知问题

#### v1.6.2 - 2018.03.21
1. 配网添加流式接口
2. 调整配网库依赖关系
3. 配网兼容庆科旧版协议
4. 修复在主线程调用Socket通讯问题
5. 修复其他问题

#### v1.6.0 - 2017.08.12
1. 重构局域网模块
2. 添加局域网订阅
3. 移除过时配网库，添加新配网库
4. 添加定时任务的一些属性
4. 修复某些情况下崩溃的BUG

#### v1.5.7 - 2017.06.08
1. 调整分享码接口
2. 调整设备列表接口
3. 添加验证码登陆
4. 支持设备报警
5. 移除子域服务支持
6. 添加设备快速上报

#### v1.5.6 - 2017.05.12
1. 修复数字格式化问题
2. 修复重复订阅问题

#### v1.5.5 - 2017.04.07
1. 帐号管理增加接口setRefreshTokenInvalidCallback统一处理帐号失效需要重新登录的问题
2. 修改底层网络库HttpURLConnection自动重试的问题

#### v1.5.4 - 2017.03.30
1. 修复某些情况下崩溃的BUG

#### v1.5.3 - 2017.02.15
1. 支持新版设备绑定流程
2. 局域网控制方式由TCP修改为UDP，同时兼容老版本
3. listDevices添加设备属性和设备配置

#### v1.5.2 - 2017.01.19
1. 添加产品信息获取接口
2. 优化设备订阅时断网重连机制

#### v1.5.1 - 2017.01.04
1. 添加订阅推送模块，支持订阅设备属性和状态、数据集数据以及自定义数据，支持获取设备属性变化历史
2. 优化marvel的配网sdk

#### v1.5.0 - 2016.12.05
1. 增加接口setAbleLinkDebugMode，优化设备配网到绑定过程的错误码提示。
2. 实时消息模块增加dispatchStatusEvent接口获取状态通知。
3. 设置`AC.notificationMgr`接口为过时，新的推送集成请参照最新开发文档。
4. 移除网关、分组相关接口。
5. 增加设置头像接口实时返回url
6. 更新乐鑫ESP8266的配网模块到最新版本

#### v1.4.2 - 2016.11.09
1. 支持与UDS进行本机调试测试。详见文档**UDS通信**
2. 修复局域网通讯时的拆包并包问题处理。
3. 支持发送到UDS服务的版本号为0。
4. 兼容实时消息模块同时异步调用connect接口时的处理。

#### v1.4.1 - 2016.10.12
1. 修复实时消息在多终端登录使用的情况下connect接口几率性返回3015错误码的问题。
2. 增加COOEE模块的配网sdk，使用AC.deviceActivator(AC.DEVICE_COOEE)获取配网实例。

#### v1.4.0 - 2016.09.21
1. 优化Realtek模块的配网sdk

#### v1.3.9 - 2016.09.08
1. 修复实时消息在调用disconnect接口之后重新连接无法订阅的问题

#### v1.3.8 - 2016.09.03
1. 修复AP配网模式下使用设备返回的SSID无法拿到设备回调的问题。
2. ACUserDevice增加成员subDomain

#### v1.3.7 - 2016.08.26
1. 修复实时消息在订阅多张表的情况下调用unwatchAll()接口异常的问题。
2. 实时消息ACPushTable取消列名columns字段，默认即订阅所有字段

#### v1.3.6 - 2016.07.28
1. AC.accountMgr()增加接口getPublicProfiles()获取权限为Public的用户扩展属性，同时listUsers接口回调中ACDeviceUser增加字段Profile扩展属性。
2. 增加AP配网模式
3. 简化意见反馈的流程
4. 删除KLV通讯格式，与设备通讯目前只支持二进制及json

#### v1.3.5 - 2016.07.20
1. ACException增加description字段，获取错误信息除了getErrorCode()与getMessage()之外，增加getDescription()方法获取详细的错误描述。
2. 修复过时接口modifyTask接口参数ACDeviceMsg中Content设置无效的问题。
3. 增加古北WIFI模块的配网支持，使用AC.deviceActivator(AC.DEVICE_GUBEI)获取配网管理器

#### v1.3.4 - 2016.07.18
1. 实时消息增加心跳机制，同时增加unwatchAll()和disconnect()接口，详细用法请参考开发指导文档。
2. AC.timerMgr()设置为已过期的管理器，移除v1.3.3新增加的定时组任务接口，替换为AC.deviceTimerMgr()，建议使用新接口进行开发。同时新增加AC.userTimerMgr()用户定时管理器。

#### v1.3.3 - 2016.07.09
1. 增加定时组任务接口，支持对设备定时任务进行分组管理。

#### v1.3.2 - 2016.07.02
1. 修复实时消息调用unwatch()接口时报1985的错误。

#### v1.3.1 - 2016.06.25
1. 增加AC.rankingMgr()排行榜管理器，支持对多用户不同时间段进行排行操作。
2. AC.bindMgr()增加接口resetDeviceToken()，解决通过UDS进行设备绑定后无法进行局域网控制的问题。
3. 文件管理ACFileInfo增加isPublic参数，支持上传文件到Public空间；在需要获取长期有效的url情况下，需要指定isPublic为true。

#### v1.2.3 - 2016.06.16
1. 修复实时消息切换正式环境后连接不上的问题，同时修复同一用户下多终端登录订阅不同的主键引发的数据错乱问题。
2. 修复实时消息在accessToken过期后无法进行connect的问题。
3. SDK内部修改正式环境域名为router.ablecloud.cn

#### v1.2.2 - 2016.06.02
1. 修复新版本定时任务中文乱码问题
2. 修改北美环境地址为usrouter.ablecloud.cn
3. sdk内部修改大数据分析包名

#### v1.2.1 - 2016.04.14
1. 增加获取pm25、空气质量及温湿度等天气状况接口
2. 局域网控制默认为动态加密，增加支持不加密及静态加密方式，通过ACDeviceMsg设置局域网加密方式。
3. 增加AI6060H、MILL的wifi模块配网支持
4. 增加changeEmail()接口

#### v1.2.0 - 2016.03.29
1. 优化token过期处理，建议开发者在主页对3516的token过期错误码进行处理，进行重登录操作。若token过期，调用isLogin()接口返回false。
2. 给设备发消息时不再需要设置序列化器，ACDeviceMsg的content不再支持Object类型，只支持byte[]跟ACKLVObject类型。具体参照开发指导-->云端通信-->发送消息到设备
3. 增加北美、中欧地域环境
4. 修改SDK名为ac-service-android-1.2.0.jar
5. 增加音视频模块sdk文档

#### v1.1.0 - 2016.03.22
1. 修改http框架，由HttpClient改为HttpUrlConnection，兼容Android6.0版本
2. ACOTAManager修改为新版接口，另外修改http为https
3. 文件上传下载支持海外部署
4. 增加用户意见反馈接口
5. 第三方登录支持Facebook、twitter、instgram
6. 更新推送模块sdk
7. 增加音视频模块sdk

#### v1.0.9 - 2016.01.21
1. 登录token增加超时机制，建议开发者在主页对错误码3516进行处理，进行重登录操作
2. 定时任务description放到ACDeviceMsg的对象里
3. 分离数据分析相关代码

#### v1.0.8 - 2016.01.05
1. 优化局域网发现稳定性
2. 增加匿名访问UDS接口
3. 优化更新汉枫模块的配网速度和成功率

#### v1.0.7 - 2015.12.05
1. 初始化增加华东地区地域设置
2. 定时循环任务不再支持min分钟级别定时，最小力度支持到hour
3. 定时任务增加OPTYPE，用于区分云端定时/设备定时

#### v1.0.6 - 2015.11.27
1. 增加蓝牙OTA升级接口
2. 升级MTK配网，解决5.0手机配网奔溃的问题
3. ACDeviceActivator增加AC.DEVICE_ANDROID类型，表示在无需配网模式下发现设备

#### v1.0.5 - 2015.09.28
1. 初始化增加设置地域环境接口
2. sdk内部增加数据分析统计接口
3. 分组模型增加listHomeDeviceWithStatus与listRoomDeviceWithStatus接口

#### v1.0.4 - 2015.09.01
1. 注意：使用文件上传下载需导入文件存储里的两个jar包到libs目录下
2. 更新文件管理，去掉bucketType
3. 修改ACObject getInt、getFloat接口

#### v1.0.3 - 2015.08.15
1. 增加定时任务接口
2. 增加实时消息接口
3. 增加文件上传下载管理接口及acl权限管理接口，暂不支持role，支持断点续传
4. 修复激活多台设备后只能返回一个设备列表的bug
5. 升级联盛德smartconfig sdk
6. 更新庆科wifi模块sdk，注意使用庆科wifi模块需导入MX目录下的三个jar包文件

#### v1.0.2 - 2015.7.11
修改ACDeviceActivator设备激活管理器

1. 解决startAbleLink期间调用stopAbleLink仍然会抛出超时异常的bug
2. 删除getAuthString接口，并把getAuthMode接口设为private
3. 增加isAbleLink接口

#### v1.0.1 - 2015.6.30
1. 增加ACOTAManager
2. 增加klv消息格式模型
3. 增加局域网直连
4. 增加分组模型接口
5. 修复直连模块给设备发消息收不到响应陷入死循环的bug
6. 修改所有云端和局域网的超时时间可配置

#### v1.0.0 - 2015.5.1
AbleCloud APP SDK 正式发布
