• UIKit
  • SDK
  • 服务端 API
Chat/
SDK/
Unity(Game Solution)/
会话/
SDK
  • 跑通Demo
  • SDK 集成
  • 初始化
  • 登录和注销
  • 消息
    • 消息概述
    • 发送消息
    • 接收消息
    • 历史消息
    • 转发消息
    • 修改消息
    • 删除消息
    • 清空消息
    • 撤回消息
    • 在线消息
    • 已读回执
    • 查询消息
    • 群 @ 消息
    • 定向群消息
    • 通知免打扰
    • 消息扩展
  • 会话
    • 会话概述
    • 会话列表
    • 获取会话
    • 未读会话数
    • 置顶会话
    • 删除会话
    • 会话草稿
    • 会话标记
    • 会话组
  • 群组
    • 群组概述
    • 群组管理
    • 群资料
    • 群成员管理
    • 群成员资料
    • 自定义群属性
    • 群计数器
  • 用户
    • 用户资料
    • 用户状态
    • 好友管理
    • 好友列表
    • 黑名单
  • Changelog
  • 开发指引
  • 控制台指南
    • 创建和升级应用
    • 基本配置
    • 功能配置
    • 账号管理
    • 群组管理
    • 回调配置
  • 产品介绍
    • 消息管理
      • 单聊消息
      • 消息存储
      • 离线推送
      • 群消息
      • 消息格式
    • 账号系统
      • 登陆验证
      • 在线状态管理
    • 群相关
      • 群组系统
      • 群组管理
    • 用户资料和关系链
      • 资料管理
      • 关系链管理
  • 购买指南
    • 计费概述
    • 价格中心
  • 错误码

置顶会话

功能描述

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

置顶会话

您可以调用 ConvPinConversation(Details) 接口,设置是否置顶会话。
需要注意的是,被置顶会话始终排在非置顶会话的前面,如果同时置顶多个会话,这几个会话之间的相对顺序仍然会保持,例如,有 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(Details) 添加会话监听器,就可以在 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) {
// 处理回调逻辑
}
}
});