阿里云事件上报-确保发送成功

1、阿里云Mqtt消息发送成功回调:

LinkKit.getInstance().publish(request, new IConnectSendListener() {
   
    @Override
    public void onResponse(ARequest aRequest, AResponse aResponse) {
   
        // 消息成功提交给操作系统的发送缓冲区。
        // 在网络波动等异常情况下,消息可能无法到达云端。
        // 如果上行的消息有对应的下行的reply, 建议通过reply报文来确认上行消息的到达。
    }
    @Override
    public void onFailure(ARequest aRequest, AError aError) {
   
        // 发布失败
    }
});

成功回调并不是真正意义的发送成功,为确保消息发送成功,使用reply报文实现

2、订阅reply topic

类型:
--订阅的topic列表
--"/sys/${productKey}/${deviceName}/thing/event/property/post_reply",   --属性上报回传
--"/sys/${productKey}/${deviceName}/thing/service/property/set",      --属性设置
--"/sys/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post_reply",  --事件上报回传
--"/sys/${productKey}/${deviceName}/thing/service/${tsl.service.identifier}",     --服务调用

实际订阅:
 "/sys/${productKey}/${deviceName}/thing/event/property/post_reply",   --属性上报回传
 "/sys/%s/%s/thing/service/property/set",      --属性设置
 "/sys/%s/%s/thing/event/+/post_reply",  --事件上报回传
 "/sys/%s/%s/thing/service/+_reply",     --服务调用

3、事件上报格式

上报格式:
{
   
    "id": "123",
    "version": "1.0",
    "sys":{
   
        "ack":0
    },
    "params": {
   
        "value": {
   
            "Power": "on",
            "WF": "2"
        },
        "time": 1524448722000
    },
    "method": "thing.event.${tsl.event.identifier}.post"
}

reply格式
{
   
    "code": 200,
    "data": {
   },
    "id": "123",
    "message": "success",
    "method": "thing.event.${tsl.event.identifier}.post",
    "version": "1.0"
}

4、订阅接收处理

伪代码实现流程:
1、生成消息id:id(第3点上报格式中的“id”参数)
2、注册该id的回调函数(reply也会返回该id参数,根据id,执行对应函数)
3、上报事件
4、接收事件reply
5、执行回调函数(回调函数处理事件发送成功的后续)

相关推荐

  1. 阿里事件上报-确保发送成功

    2024-01-12 10:02:01       40 阅读
  2. 阿里上关于EDAS发布方式

    2024-01-12 10:02:01       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-12 10:02:01       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-12 10:02:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-12 10:02:01       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-12 10:02:01       20 阅读

热门阅读

  1. 2024成都无人机展览会/2024成都无人机展览会

    2024-01-12 10:02:01       32 阅读
  2. Spring Auth授权策略

    2024-01-12 10:02:01       34 阅读
  3. linux下驱动学习—平台总线 (3)

    2024-01-12 10:02:01       42 阅读
  4. uniapp-x uts 介绍

    2024-01-12 10:02:01       40 阅读
  5. Android 车联网——CarDiagnosticService介绍(十八)

    2024-01-12 10:02:01       37 阅读
  6. Mysql字段的各种时间类型

    2024-01-12 10:02:01       35 阅读
  7. 无人机群ros通信

    2024-01-12 10:02:01       36 阅读
  8. Linux中如何更换yum源

    2024-01-12 10:02:01       29 阅读