即时通信 IM Unity(群资料)

这篇说说腾讯云IM的群资料管理功能,包括获取群资料、修改群资料及设置群消息接收选项,并说明不同群组类型的修改权限与消息免打扰实现方式。 获取群资料:调用GroupGetGroupInfoList接口可批量获取多个群的资料。 修改群资料:调用GroupModifyGroupInfo接口,不同群组类型对修改成员角色有不同限制。 设置群消息接收选项:通过MsgSetGroupReceiveMessageOpt接口可实现群消。

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

一、功能描述

群资料指的是与群组相关的一些信息包含 获取群资料 以及 修改群资料。

二、获取群资料

你可以调用 GroupGetGroupInfoList (点击查看详情) 获取群资料。该接口支持一次传入多个 group_id_list,批量获取多个群的群资料。

代码示例如下:

// 获取群资料TIMResult res = TencentIMSDK.GroupGetGroupInfoList(group_id_list, TIMReceiveMessageOpt.kTIMRecvMsgOpt_Not_Receive, (int code, string desc, List<GetGroupInfoResult> result, string user_data)=>{ // 处理异步逻辑});

三、修改群资料

你可以调用 GroupModifyGroupInfo (点击查看详情) 修改群资料。

如果你事先调用 SetGroupTipsEventCallback (点击查看详情) 添加了群组事件监听器,群资料被修改后,全员会收到回调数据。

不同类型的群组,可以修改群资料的成员角色不同:

群组类型 可以修改群基础资料的成员角色
好友工作群(Work) 所有群成员
陌生人社交群(Public) 群主和管理员
临时会议群(Meeting) 群主和管理员
社群(Community) 群主和管理员
直播群(AVChatRoom) 群主

示例代码如下:

GroupModifyInfoParam param = new GroupModifyInfoParam{ group_modify_info_param_group_id = "group_id", group_modify_info_param_modify_flag = TIMGroupModifyInfoFlag.kTIMGroupModifyInfoFlag_Name, // 修改群组名称 group_modify_info_param_group_name = "new group name"};TIMResult res = TencentIMSDK.GroupModifyGroupInfo(param, (int code, string desc, string user_data)=>{ // 处理异步逻辑});

四、设置群消息的接收选项

任何群成员都可以调用 MsgSetGroupReceiveMessageOpt (点击查看详情) 接口修改群消息接收选项。

TIMReceiveMessageOpt 的可选项有:

消息接收选项 含义
TIMReceiveMessageOpt.kTIMRecvMsgOpt_Receive 在线正常接收消息,离线时会有厂商的离线推送通知。
TIMReceiveMessageOpt.kTIMRecvMsgOpt_Not_Receive 不会接收到群消息。
TIMReceiveMessageOpt.kTIMRecvMsgOpt_Not_Notify 在线正常接收消息,离线不会有推送通知。

使用不同的 TIMReceiveMessageOpt 可以实现群消息免打扰:

完全不接收群内消息
群消息接收选项设置为 kTIMRecvMsgOpt_Not_Receive 后,群内的任何消息都收不到,会话列表也不会更新。

接收群内消息但不提醒,在会话列表界面显示小圆点(不显示未读数)

1. 群消息接收选项设置为 kTIMRecvMsgOpt_Not_Notify。

2. 当群内收到新消息,会话列表需要更新时,可以通过会话 ConvInfo 中的 conv_unread_num (点击查看详情) 获取到消息未读数。

3. 根据 ConvInfo 的 conv_recv_opt (点击查看详情) 判断获取到的群消息接收选项为 kTIMRecvMsgOpt_Not_Notify 时显示小红点而非消息未读数。

注意:说明:

注意:此方式需使用未读计数功能,因此仅适用于好友工作群(Work)和陌生人社交群(Public)。

示例代码如下:

// 社会群接收消息选项GroupModifyInfoParam param = new GroupModifyInfoParam{ group_modify_info_param_group_id = "group_id", group_modify_info_param_modify_flag = TIMGroupModifyInfoFlag.kTIMGroupModifyInfoFlag_AddOption, // 修改群组添加选项 group_modify_info_param_add_option = TIMGroupAddOption.kTIMGroupAddOpt_Auth};TIMResult res = TencentIMSDK.GroupModifyGroupInfo(param, (int code, string desc, string user_data)=>{ // 处理异步逻辑});

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