设备SDK使用说明(Android)
 IoT平台Android设备端SDK,基于IoT平台原生代码进行交叉编译,功能包括设备动态注册和IoT平台的上下行消息通信
  1 使用入门
 - IoT平台账号创建产品,用于注册设备。
- Manifest中添加IotServices,指定独立process
- Application中配置IotSDK, 由于iot服务在独立进程中,Application onCreate会执行两次,需在对应进程中执行如下代码
- 在应用的Service中实例化IotClient,以保证应用退出到后台可以继续保持长连接
 2 具体用法
 | IotSDK | 备注 | 
|---|
 | void setLog(boolean isDebug) | 开启日志 | 
 | void setupRegisterConfig(RegisterConfig registerConfig) | 设置设备注册配置 | 
 | RegisterConfig.Builder | 备注 | 
|---|
 | setUrl(String url) | 设备注册地址 | 
 | setProductKey(String productKey) | 产品认证信息之产品key | 
 | setProductSecret(String productSecret) | 产品认证信息之密钥 | 
 | setDeviceIdType(String deviceIdType) | 设备唯一标识符类型,可自定义如uid | 
 | setDeviceIdValues(ArrayList<String> deviceIdValues) | 设备唯一标识符值集(有多个时,如mac列表) | 
 | IotClient | 备注 | 
|---|
 | IotClient(Context context, String url) | 构造方法 | 
 | IotClient(Context context, jString url, DeviceAuth deviceAuth) | 构造方法 | 
 | void setCallback(IotCallback iotCallback) | 设置回调 | 
 | void connect() | MQTT建立连接 | 
 | boolean isConnected() | 是否连接 | 
 | void close() | 关闭MQTT连接并释放资源 | 
 | void	setPropertyGetCallback(OnTslDownCallback onTslDownCallback) | 设置获取属性回调 | 
 | void	setPropertySetCallback(OnTslDownCallback onTslDownCallback) | 设置设置属性回调 | 
 | void setServiceCallback(OnTslDownCallback onTslDownCallback) | 设置服务调用回调 | 
 | void subscribeCustom(String topic, OnCustomTopicCallback onCustomTopicCallback) | 订阅自定义主题 | 
 | void postEvent(String method, IotUpPO params) | 事件上报 | 
 | void postProperty(String method, IotUpPO params, boolean isPostNow) | 属性上报 | 
 | <T> void	getProperty(String method, IotUpPO params, OnTslUpCallback<T> callback) | 上行属性获取 | 
 | <T> void callService(String method, IotUpPO params, OnTslUpCallback<T> callback) | 上行服务调用 | 
 | void callService(String method, IotUpPO params) | 上行服务调用 | 
 | void callService(String method) | 上行服务调用 | 
 | void publishCustom(String topic, IotUpPO params) | 发布自定义主题 | 
 | void setDeviceAuth(DeviceAuth deviceAuth) | 自定义设备三元组 | 
 | void setRetryConfig(RetryConfig retryConfig) | 自定义失败重试机制 | 
 | RetryConfig.Builder | 备注 | 
|---|
 | setRetryCount(int retryCount) | 设置失败重试次数(-1表示无限重试),默认为-1 | 
 | setDelayMaxSecond(int delayMaxSecond) | 设置最大的重试时间间隔,默认为60s | 
 | setDelayBaseNum(int delayBaseNum) | 设置重试时间间隔的底数,默认为2,即时间间隔为2^n,n为当前重试次数 | 
  3 更多说明
 - 设备连接到iot需要先注册,第一种是通过配置RegisterConfig进行注册,另一种途径是交由业务的服务端进行注册来获取设备三元组,再通过setupDeviceAuth()配置。
- 失败重试是指Iot注册或者连接过程中失败的重试,IotSDK使用指数退避算法进行重试,具体的重试配置由应用业务决定
- 执行Iot连接会启动一个Iot进程Service。Iot进程只负责Iot通信,不处理保活,如果主进程销毁, Iot进程也会销毁,应用根据需要对主进程进行保活
- Iot上行下行通信中的请求参数params是key-value形式,符合TSL物模型,因此不可以直接传递List数据,需要包装成key-value形式
 4 使用示例
 sample