tencent cloud

文档反馈

Android & iOS & Mac

最后更新时间:2023-02-02 16:22:35

    功能描述

    会话置顶指的是把单聊或者群聊会话固定在会话列表的最顶部,不会被其他会话更新挤到底部,方便用户查找。置顶状态会存储在服务器,切换终端设备后,置顶状态会同步到新设备上。

    说明:

    置顶会话功能仅增强版 5.3.425 及以上版本支持。置顶会话数上限50,不支持增加。

    置顶会话

    您可以调用 pinConversation(Android / iOS & Mac / Windows) 接口,设置是否置顶会话。

    调用 getConversationList 获取会话列表时,该接口返回的会话列表中,置顶的会话在前,未置顶的会话在后。您可以通过 V2TIMConversation 对象的 isPinned 字段,检查会话有没有置顶。

    会话的顺序,按V2TIMConversation 对象的 orderKey 字段排序。orderKey 字段是整型数,当发送新消息、接收新消息、设置草稿或置顶会话时,会话被激活,orderKey 字段会增大。

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

    示例代码如下:

    // isPinned 参数为 true,表示置顶会话,否则,表示取消置顶。
    String conversationID = "conversationID";
    V2TIMManager.getConversationManager().pinConversation(conversationID, true, new V2TIMCallback() {
       @Override
       public void onSuccess() {
           Log.i("imsdk", "success");
       }
        @Override
       public void onError(int code, String desc) {
           Log.i("imsdk", "failure, code:" + code + ", desc:" + desc);
       }
    });
    

    会话置顶变更通知

    如果您事先调用了 addConversationListener(Android / iOS & Mac / Windows) 添加会话监听器,就可以在 onConversationChanged 中获取到 V2TIMConversation 对象的 isPinned 字段值。根据这个字段可以判断会话的置顶状态是否变化。

    示例代码如下:

    public void onConversationChanged(List<V2TIMConversation> conversationList) {
       // 收到会话信息变更通知
       Log.i("imsdk", "onConversationChanged");
    }
    

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持