当前知识库站点已不再维护。请移步新版知识库:https://help.rongcloud.cn/

融云 Flutter SDK rongcloud_im_wrapper_plugin 如何与其他端自定义消息互通

融云 Flutter SDK rongcloud_im_wrapper_plugin 如何与其他端自定义消息互通
发布时间: 2022-09-28 10:16

回答:

rongcloud_im_wrapper_plugin 中, 自定义消息格式发生变化,并且不兼容旧版本 SDK 的自定义消息,收到旧版本的自定义消息后,无法正常进行解析。如果开发者需要进行互通,需要对其他端的自定义消息结构进行改造。


1. 首先在原生端注册下面四种类型消息

注:文件下载在文章末尾

不存储不计数的消息

RCIMIWCustomCommandMessage.java

存储计数的消息

RCIMIWCustomNormalMessage.java

状态消息

RCIMIWCustomStatusMessage.java

存储不计数的消息

RCIMIWCustomStorageMessage.java


2. 将原本的自定义消息全部改造为下面类型


例: 自定义了一个存储且计数的文本消息, objectName 为 Test:Text, 此自定义消息有一个字段 text, 此时我们需要将此自定义消息转为上面的消息,


首先定义一个 map 来存我们的字段内容,此处只接收 Key、Value 为 String。


```

Map<String, String> map = new HashMap<>();

map.put('text', text);

```


因为是存储计数的消息,所以我们选择 RCIMIWCustomNormalMessage, 需要传入的第一个参数 msgType 就是我们的原本自定义消息的 objectname


```

RCIMIWCustomNormalMessage normalMessage = new RCIMIWCustomNormalMessage("Test:Text", map);

```


最后将此消息内容调用原本的发送接口发送即可。


链接: https://pan.baidu.com/s/1mkEGEtw2RniTsMM5Adjosw 提取码: dnfi