即时通信 IM Unity(置顶会话)

会话置顶,指的是把好友或者群会话固定在会话列表的最前面,方便用户查找。置顶状态会存储在服务器,切换终端设备后,置顶状态会同步到新设备上。

相关产品
即时通信 IM 产品页,含版本规格、价格与购买入口。

一、功能描述

注意:置顶会话数上限50,不支持增加。

二、置顶会话

你可以调用 ConvPinConversation(点击查看详情) 接口,设置是否置顶会话。

需要注意的是,被置顶会话始终排在非置顶会话的前面,如果同时置顶多个会话,这几个会话之间的相对顺序仍然会保持,例如,有 5 个依次排序的会话 1、2、3、4、5,同时置顶会话 2 和 3,置顶后的顺序是 2、3、1、4、5,显然,会话 2 和 3 排在最前面,并且会话 2 仍然排在 3 的前面。

调用 ConvGetConvList 获取会话列表时,该接口会先返回置顶的会话,再返回未置顶的会话。你可以通过 ConvInfo 对象的 conv_is_pinned 字段,检查会话有没有置顶。

示例代码如下:

// conv_is_pinned 参数为 true,表示置顶会话,否则,表示取消置顶。bool conv_is_pinned = true;TIMResult res = TencentIMSDK.ConvPinConversation(conv_id, conv_is_pinned, (int code, string desc, string user_data)=>{ // 处理异步逻辑});

三、会话置顶变更通知

如果你事先调用了 SetConvEventCallback(点击查看详情) 添加会话监听器,就可以在 ConvEventCallback 中获取到 ConvInfo 对象的 conv_is_pinned 字段值。根据这个字段可以判断会话的置顶状态是否变化。
示例代码如下:

TencentIMSDK.SetConvEventCallback((TIMConvEvent conv_event, List<ConvInfo> conv_list, string user_data)=>{ foreach(ConvInfo conv_info in conv_list) { if (conv_info.conv_is_pinned) { // 处理回调逻辑 } }});

赞 (0)
上一篇 4天前
下一篇 4天前