高级功能
透传自定义数据
可透传任意格式自定义数据,请与 app 开发者自行约定
手机端在线,云端不保存数据,直接转发至手机
手机端离线,云端最多会保存 20 条数据,待手机上线时发送,发送后清空
// 透传自定义消息,不可与前边上报数据同时使用 new CloudMessage.Builder()
.setPushData(new byte[10])
.push(new CloudMessage.OnPushListener() {
@Override
public void onSuccess() {
// 发送成功
}
@Override
public void onError(String message) {
// 发送失败
// message 错误原因
}
});
接收自定义数据
接收来自 app 的透传数据,格式请与 app 开发者自行约定
设备在线,云端收到 app 数据后,直接透传至设备
设备离线,云端最多会保存 20 条 app 数据,待设备上线时发送,发送后清空回调函数中不可执行太多耗时代码。
IotDeviceSDK.getInstance().setOnPushReceiveListener(new IotDeviceSDK.OnPushReceiveListener() {
@Override
public void onPushReceive(String subId, int timeStamp, byte[] data) {
// subId子设备 id,透传给子设备时该字段不为空
// timestamp云端接收到消息的时间戳,如果不需要考虑数据超时则不
用处理该字段
//data 自定义数据
}
});
配置设备信息
注意!请在调用 iot_start 前调用此函数。
设置加密方式
IotDeviceSDK.getInstance().setEncryptType(String type);
设置设备序列号IotDeviceSDK.getInstance().setSN(String sn);
参数 | 说明 |
---|---|
type | "AES":AES 算法(默认);"SSL":SSL 算法;"SM4":SM4 算法 |
sn | 自定义字符串,数字字母组合,最长 16 字节 |
sn表示设置第三方序列号,厂商可设置自定义格式的设备唯一序列号,此功能可用于实
现维修设备替换通信模块时,用户设备历史数据不变的功能。
注意!同一产品(product_id 相同)下,该序列号须保证唯一,如需更改 SN,请先删除设备。
例如:IotDeviceSDK.getInstance().setSN("SNDQ201811200003");设置设备的序列号为SNDQ201811200003,此序列号可唯一标识一个设备。