删除会话
删除指定会话
- 从会话列表中移除指定会话,不删除会话内的消息。
- 会话内再来一条消息,该会话之前的消息还存在,方便用户查看。
- 如果需要移除指定会话,并删除会话内的消息,请同时调用删除会话内消息接口。
方法
int removeConversation(
RCIMConversationType type,
string targetId,
string channelId
)
参数说明
参数 | 类型 | 说明 |
---|---|---|
type | RCIMConversationType | 会话类型 |
targetId | string | 会话 ID |
channelId | string | 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。 |
返回值
返回值 | 描述 |
---|---|
int | 当次接口操作状态码,并不代表最终操作结果,状态码详细信息 |
代码示例
int code = engine.removeConversation(
type,
targetId,
channelId
);
回调方法
- setOnConversationRemovedListener
delegate void OnConversationRemovedDelegate(int code,
RCIMConversationType type,
string targetId,
string channelId);
OnConversationRemovedDelegate onConversationRemoved;
参数说明
参数 | 类 型 | 说明 |
---|---|---|
code | int | 接口回调的状态码,0 代表成功,非 0 代表出现异常 |
type | RCIMConversationType | 调用接口时传入的会话类型 |
targetId | string | 调用接口时传入的会话ID |
channelId | string | 调用接口时传入的频道 ID |
代码示例
engine.onConversationRemoved = delegate(
int code,
RCIMConversationType type,
string targetId,
string channelId)
{
}
按会话类型删除
按指定的会话类型删除会话,并删除会话内的消息。
方法
int removeConversations(
List<RCIMConversationType> types,
string channelId)
参数说明
参数 | 类型 | 说明 |
---|---|---|
types | List<[RCIMConversationType](https://www.rongcloud.cn/docs/api/unity/imlib_v5/latest/namespacecn__rongcloud__im__unity.html#a9d16c8fef2db0c4a5d6cfea2e5873aea)> | 需要清空的会话类型列表 |
channelId | string | 频道 ID,仅支持超级群使用,其他会话类型传 null 即可 |
返回值
返回值 | 描述 |
---|---|
int | 当次接口操作状态码,并不代表最终操作结果,状态码详细信息 |
代码示例
int code = engine.removeConversations(
conversationTypesInt,
channelId
);
回调方法
- onConversationsRemoved
delegate void OnConversationsRemovedDelegate(int code,
List<RCIMConversationType> types,
string channelId);
OnConversationsRemovedDelegate onConversationsRemoved;
参数说明
参数 | 类型 | 说明 |
---|---|---|
code | int | 接口回调的状态码,0 代表成功,非 0 代表出现异常 |
types | List<[RCIMConversationType](https://www.rongcloud.cn/docs/api/unity/imlib_v5/latest/namespacecn__rongcloud__im__unity.html#a9d16c8fef2db0c4a5d6cfea2e5873aea)> | 调用接口时传入的会话类型 |
channelId | string | 调用接口时传入的频道 ID |
代码示例
engine.onConversationsRemoved = delegate(
int code,
List<RCIMConversationType> types,
string channelId)
{
}
删除全部会话
SDK 内部没有清除全部会话的方法,您可使用 按会话类型删除,传入所有会话类型即可。
该方法会同时删除会话和消息。聊天室和超级群 UI 层建议客户单独展示,所以删除时可不传入。
代码示例
List<RCIMConversationType> conversationTypes = new List<RCIMConversationType>();
conversationTypes.Add(RCIMConversationType.PRIVATE);
conversationTypes.Add(RCIMConversationType.GROUP);
conversationTypes.Add(RCIMConversationType.SYSTEM);
engine.removeConversations(conversationTypes,null);