跳到主要内容

删除会话

删除指定会话

  • 从会话列表中移除指定会话,不删除会话内的消息。
  • 会话内再来一条消息,该会话之前的消息还存在,方便用户查看。
  • 如果需要移除指定会话,并删除会话内的消息,请同时调用删除会话内消息接口。

方法

int removeConversation(
RCIMConversationType type,
string targetId,
string channelId
)

参数说明

参数类型说明
typeRCIMConversationType会话类型
targetIdstring会话 ID
channelIdstring频道 ID,仅支持超级群使用,其他会话类型传 null 即可。

返回值

返回值描述
int当次接口操作状态码,并不代表最终操作结果,状态码详细信息

代码示例

int code = engine.removeConversation(
type,
targetId,
channelId
);

回调方法

  • setOnConversationRemovedListener
delegate void OnConversationRemovedDelegate(int code,
RCIMConversationType type,
string targetId,
string channelId);

OnConversationRemovedDelegate onConversationRemoved;

参数说明

参数类型说明
codeint接口回调的状态码,0 代表成功,非 0 代表出现异常
typeRCIMConversationType调用接口时传入的会话类型
targetIdstring调用接口时传入的会话ID
channelIdstring调用接口时传入的频道 ID

代码示例

engine.onConversationRemoved = delegate(
int code,
RCIMConversationType type,
string targetId,
string channelId)
{

}

按会话类型删除

按指定的会话类型删除会话,并删除会话内的消息。

方法

int removeConversations(
List<RCIMConversationType> types,
string channelId)

参数说明

参数类型说明
typesList<[RCIMConversationType](https://www.rongcloud.cn/docs/api/unity/imlib_v5/latest/namespacecn__rongcloud__im__unity.html#a9d16c8fef2db0c4a5d6cfea2e5873aea)>需要清空的会话类型列表
channelIdstring频道 ID,仅支持超级群使用,其他会话类型传 null 即可

返回值

返回值描述
int当次接口操作状态码,并不代表最终操作结果,状态码详细信息

代码示例

int code = engine.removeConversations(
conversationTypesInt,
channelId
);

回调方法

  • onConversationsRemoved
delegate void OnConversationsRemovedDelegate(int code,
List<RCIMConversationType> types,
string channelId);

OnConversationsRemovedDelegate onConversationsRemoved;

参数说明

参数类型说明
codeint接口回调的状态码,0 代表成功,非 0 代表出现异常
typesList<[RCIMConversationType](https://www.rongcloud.cn/docs/api/unity/imlib_v5/latest/namespacecn__rongcloud__im__unity.html#a9d16c8fef2db0c4a5d6cfea2e5873aea)>调用接口时传入的会话类型
channelIdstring调用接口时传入的频道 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);