腾讯云即时通信IMUnity_AI解决方案_同尘科技

即时通信 IM 2年前 (2023-06-13) 浏览 58

功能描述

在某些场景下,您可能需要对会话进行标记,例如 “会话标星”、”会话折叠”、”会话隐藏”、“会话标记未读”等,您可以调用以下接口实现。说明该功能仅对旗舰版客户开放,购买 旗舰版套餐包 后可使用。该功能仅 Native SDK 6.5 及以上版本支持。

会话标记

标记会话

您可以调用 ConvMarkConversation (点击查看详情) 接口标记或者取消标记会话。注意 当用户标记了会话,SDK 只是简单记录了会话的标记值,并不会改变会话的底层逻辑,例如标记会话为 kTIMConversationMarkTypeUnread,会话的底层的未读数并不会发生改变。标记会话接口入参详解如下:

属性 含义 说明
conversationIDList 会话 ID 列表 一次标记最大支持 100 个会话
markType 标记类型 会话标星、会话标记未读、会话折叠、会话隐藏等
enableMark 标记/取消标记 标记或取消标记

说明 SDK 提供了四个默认标记(”会话标星”、”会话折叠”、”会话隐藏”、“会话标记未读”),如果已有标记不能满足您的需求,您可以自定义扩展标记,扩展标记需要满足以下两个条件:扩展标记值不能和已有的标记值冲突。扩展标记值必须是 0x1LL << n 的位移值(32 <= n < 64,即 n 必须大于等于 32 并且小于 64),例如扩展标记值 0x1LL << 32 表示 "iPhone 在线"。示例代码如下:

    //标记会话    TIMResult res = TencentIMSDK.ConvMarkConversation(new List {      conv_id    }, TIMConversationMarkType.kTIMConversationMarkTypeStar, true, (int code, string desc, List results, string user_data)=>{      // 标记会话异步结果    });

监听会话标记变更通知

会话被标记或者取消标记后,会话 ConvInfoconv_mark_array (点击查看详情) 字段会发生变更,您可以调用 SetConvEventCallback (点击查看详情) 接口监听会话变更通知。示例代码如下:

    //设置会话监听器    TencentIMSDK.SetConvEventCallback((TIMConvEvent conv_event, List conv_list, string user_data)=>{      // 处理回调逻辑    });

拉取指定标记会话

您可以调用 ConvGetConversationListByFilter (点击查看详情) 接口拉取指定标记会话。示例代码如下:

    //获取会话列表    ConversationListFilter filter = new ConversationListFilter    {        conversation_list_filter_conv_type: TIMConvType.kTIMConv_C2C,//会话类型        conversation_list_filter_mark_type: TIMConversationMarkType.kTIMConversationMarkTypeStar,//会话标记类型        conversation_list_filter_conversation_group: "groupName"//拉取的群组名    };    ulong next_seq = 0; // 拉取游标    uint count = 10; // 拉取数量    //获取会话列表的高级接口    TIMResult res = TencentIMSDK.ConvGetConversationListByFilter(filter, next_seq, count, (int code, string desc, ConversationListResult result, string user_data)=>{      // 获取会话列表异步结果      if (code == 0) {        //拉取成功        bool isFinished = result.conversation_list_result_is_finished; //是否拉取完        next_seq = result.conversation_list_result_next_seq; //后续分页拉取的游标        var conversationList = result.conversation_list_result_conv_list; //此次拉取到的消息列表        //如果没有拉取完,使用返回的nextSeq继续拉取直到isFinished为true      }    });

交流与反馈

点此进入IM社群,享有专业工程师的支持,解决您的难题

对即时通讯IM解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?