Chat SDK for Unity and Windows v1.3.1
Public 成员函数 | 所有成员列表
AgoraChat.GroupManager类 参考
类 AgoraChat.GroupManager 继承关系图:

Public 成员函数

void applyJoinToGroup (string groupId, string reason="", CallBack callback=null)
 
void AcceptGroupInvitation (string groupId, ValueCallBack< Group > callback=null)
 
void AcceptGroupJoinApplication (string groupId, string userId, CallBack callback=null)
 
void AddGroupAdmin (string groupId, string memberId, CallBack callback=null)
 
void AddGroupMembers (string groupId, List< string > newmembers, CallBack callback=null)
 
void AddGroupAllowList (string groupId, List< string > members, CallBack callback=null)
 
void BlockGroup (string groupId, CallBack callback=null)
 
void BlockGroupMembers (string groupId, List< string > members, CallBack callback=null)
 
void ChangeGroupDescription (string groupId, string desc, CallBack callback=null)
 
void ChangeGroupName (string groupId, string name, CallBack callback=null)
 
void ChangeGroupOwner (string groupId, string newOwner, CallBack callback=null)
 
void CheckIfInGroupAllowList (string groupId, ValueCallBack< bool > callback=null)
 
void CreateGroup (string groupName, GroupOptions options, string desc=null, List< string > inviteMembers=null, string inviteReason=null, ValueCallBack< Group > callback=null)
 
void DeclineGroupInvitation (string groupId, string reason=null, CallBack callback=null)
 
void DeclineGroupJoinApplication (string groupId, string userId, string reason=null, CallBack callback=null)
 
void DestroyGroup (string groupId, CallBack callback=null)
 
void DownloadGroupSharedFile (string groupId, string fileId, string savePath, CallBack callback=null)
 
void GetGroupAnnouncementFromServer (string groupId, ValueCallBack< string > callback=null)
 
void GetGroupBlockListFromServer (string groupId, int pageNum=1, int pageSize=200, ValueCallBack< List< string > > callback=null)
 
void GetGroupFileListFromServer (string groupId, int pageNum=1, int pageSize=200, ValueCallBack< List< GroupSharedFile > > callback=null)
 
void GetGroupMemberListFromServer (string groupId, int pageSize=200, string cursor="", ValueCallBack< CursorResult< string > > callback=null)
 
void GetGroupMuteListFromServer (string groupId, int pageNum=1, int pageSize=200, ValueCallBack< Dictionary< string, long > > callback=null)
 
void GetGroupSpecificationFromServer (string groupId, ValueCallBack< Group > callback=null)
 
void GetGroupAllowListFromServer (string groupId, ValueCallBack< List< string > > callback=null)
 
Group GetGroupWithId (string groupId)
 
List< GroupGetJoinedGroups ()
 
void FetchJoinedGroupsFromServer (int pageNum=0, int pageSize=20, bool needAffiliations=false, bool needRole=false, ValueCallBack< List< Group > > callback=null)
 
void FetchJoinedGroupsFromServer (int pageNum=0, int pageSize=20, ValueCallBack< List< Group > > callback=null)
 
void FetchPublicGroupsFromServer (int pageSize=200, string cursor="", ValueCallBack< CursorResult< GroupInfo > > callback=null)
 
void JoinPublicGroup (string groupId, CallBack callback=null)
 
void LeaveGroup (string groupId, CallBack callback=null)
 
void MuteGroupAllMembers (string groupId, CallBack callback=null)
 
void MuteGroupMembers (string groupId, List< string > members, long muteMilliseconds=-1, CallBack callback=null)
 
void RemoveGroupAdmin (string groupId, string memberId, CallBack callback=null)
 
void DeleteGroupSharedFile (string groupId, string fileId, CallBack callback=null)
 
void DeleteGroupMembers (string groupId, List< string > members, CallBack callback=null)
 
void RemoveGroupAllowList (string groupId, List< string > members, CallBack callback=null)
 
void UnBlockGroup (string groupId, CallBack callback=null)
 
void UnBlockGroupMembers (string groupId, List< string > members, CallBack callback=null)
 
void UnMuteGroupAllMembers (string groupId, CallBack callback=null)
 
void UnMuteGroupMembers (string groupId, List< string > members, CallBack callback=null)
 
void UpdateGroupAnnouncement (string groupId, string announcement, CallBack callback=null)
 
void UpdateGroupExt (string groupId, string ext, CallBack callback=null)
 
void UploadGroupSharedFile (string groupId, string filePath, CallBack callback=null)
 
void SetMemberAttributes (string groupId, string userId, Dictionary< string, string > attrs, CallBack callback=null)
 
void FetchMemberAttributes (string groupId, List< string > userIds, List< string > attrs, ValueCallBack< Dictionary< string, Dictionary< string, string > > > callback=null)
 
void FetchMyGroupsCount (ValueCallBack< int > callback=null)
 
void AddGroupManagerDelegate (IGroupManagerDelegate groupManagerDelegate)
 
void RemoveGroupManagerDelegate (IGroupManagerDelegate groupManagerDelegate)
 

详细描述

群组管理器抽象类。

成员函数说明

◆ applyJoinToGroup()

void AgoraChat.GroupManager.applyJoinToGroup ( string  groupId,
string  reason = "",
CallBack  callback = null 
)

申请加入群组。

异步方法。

参数
groupId群组 ID。
reason申请加入的原因。
callback申请结果回调,详见 CallBack

◆ AcceptGroupInvitation()

void AgoraChat.GroupManager.AcceptGroupInvitation ( string  groupId,
ValueCallBack< Group callback = null 
)

接受入群邀请。

异步方法。

参数
groupId群组 ID。
callback接受结果回调,返回用户同意邀请的群组,详见 ValueCallBack

◆ AcceptGroupJoinApplication()

void AgoraChat.GroupManager.AcceptGroupJoinApplication ( string  groupId,
string  userId,
CallBack  callback = null 
)

批准入群申请。

仅群主和管理员可调用此方法。

异步方法。

参数
groupId群组 ID。
userId申请人 ID。
callback批准结果回调,详见 CallBack

◆ AddGroupAdmin()

void AgoraChat.GroupManager.AddGroupAdmin ( string  groupId,
string  memberId,
CallBack  callback = null 
)

添加群组管理员。

仅群主可调用此方法,admin 无权限。

异步方法。

参数
groupId群组 ID。
memberId新增加的管理员 ID。
callback添加结果回调,详见 CallBack

◆ AddGroupMembers()

void AgoraChat.GroupManager.AddGroupMembers ( string  groupId,
List< string >  newmembers,
CallBack  callback = null 
)

向群组中添加新成员。

仅群主和管理员可调用此方法。

异步方法。

参数
groupId群组的 ID。
newmembers要添加的新成员列表。
callback添加结果回调,详见 CallBack

◆ AddGroupAllowList()

void AgoraChat.GroupManager.AddGroupAllowList ( string  groupId,
List< string >  members,
CallBack  callback = null 
)

添加白名单。

仅群主和管理员可调用此方法。

异步方法。

参数
groupId群组 ID。
members要添加的成员列表。
callback添加结果回调,详见 CallBack

◆ BlockGroup()

void AgoraChat.GroupManager.BlockGroup ( string  groupId,
CallBack  callback = null 
)

屏蔽群消息。

屏蔽群消息的用户仍是群成员,但无法接收群消息。

异步方法。

参数
groupId群组 ID。
callback屏蔽结果回调,详见 CallBack

◆ BlockGroupMembers()

void AgoraChat.GroupManager.BlockGroupMembers ( string  groupId,
List< string >  members,
CallBack  callback = null 
)

将用户加入群组黑名单。

成功调用该方法后,该用户会先被移除出群组,然后加入群组黑名单。该用户无法接收、发送群消息,也无法申请再次加入群组。

仅群主和管理员可调用此方法。

异步方法。

参数
groupId群组ID。
members要加入黑名单的用户列表。
callback操作结果回调,详见 CallBack

◆ ChangeGroupDescription()

void AgoraChat.GroupManager.ChangeGroupDescription ( string  groupId,
string  desc,
CallBack  callback = null 
)

修改群描述。

仅群主和管理员可调用此方法。

异步方法。

参数
groupId群组 ID。
desc修改后的群描述。
callback操作结果回调,详见 CallBack

◆ ChangeGroupName()

void AgoraChat.GroupManager.ChangeGroupName ( string  groupId,
string  name,
CallBack  callback = null 
)

修改群组名称。

仅群主和管理员可调用此方法。

异步方法。

参数
groupId需修改名称的群组的 ID。
name修改后的群组名称。
callback操作结果回调,详见 CallBack

◆ ChangeGroupOwner()

void AgoraChat.GroupManager.ChangeGroupOwner ( string  groupId,
string  newOwner,
CallBack  callback = null 
)

转让群组所有权。

仅群主可调用此方法。

异步方法。

参数
groupId群组 ID。
newOwner新的群主。
callback操作结果回调,详见 CallBack

◆ CheckIfInGroupAllowList()

void AgoraChat.GroupManager.CheckIfInGroupAllowList ( string  groupId,
ValueCallBack< bool >  callback = null 
)

检查当前用户是否在群组白名单中。

异步方法。

参数
groupId群组 ID。
callback操作结果回调,详见 CallBack

◆ CreateGroup()

void AgoraChat.GroupManager.CreateGroup ( string  groupName,
GroupOptions  options,
string  desc = null,
List< string >  inviteMembers = null,
string  inviteReason = null,
ValueCallBack< Group callback = null 
)

创建群组。

群组创建成功后,会更新内存及数据库中的数据,多端多设备会收到相应的通知事件,然后将群组更新到内存及数据库中。

可通过设置 IMultiDeviceDelegate 监听相关事件,事件回调函数为 onGroupMultiDevicesEvent((MultiDevicesOperation, string, List<string>)

异步方法。

参数
groupName群组名称。该参数可选,不设置传 null
options群组创建时需设置的选项。该参数可选,不可为 null。详见 GroupOptions。 群组的其他选项如下:
  • 群组最大成员数,默认值为 200;
  • 群组类型,详见 GroupStyle
  • 邀请入群是否需要对方同意,默认为 false,即邀请后直接入群;
  • 群详情扩展。
desc群组描述。该参数可选,不设置传 null
inviteMembers群成员列表。该参数不可为 null
inviteReason成员入群的邀请信息。该参数可选,不设置传 null
callback创建结果回调,详见 CallBack

◆ DeclineGroupInvitation()

void AgoraChat.GroupManager.DeclineGroupInvitation ( string  groupId,
string  reason = null,
CallBack  callback = null 
)

拒绝入群邀请。

异步方法。

参数
groupId群组 ID。
reason拒绝理由。
callback操作结果回调,详见 CallBack

◆ DeclineGroupJoinApplication()

void AgoraChat.GroupManager.DeclineGroupJoinApplication ( string  groupId,
string  userId,
string  reason = null,
CallBack  callback = null 
)

拒绝入群申请。

仅群组创建者和管理员可调用此方法。

异步方法。

参数
groupId群组 ID。
userId申请人的用户 ID。
reason拒绝理由。
callback操作结果回调,详见 CallBack

◆ DestroyGroup()

void AgoraChat.GroupManager.DestroyGroup ( string  groupId,
CallBack  callback = null 
)

解散群组。

仅群主可调用此方法。

异步方法。

参数
groupId群组 ID。
callback操作结果回调,详见 CallBack

◆ DownloadGroupSharedFile()

void AgoraChat.GroupManager.DownloadGroupSharedFile ( string  groupId,
string  fileId,
string  savePath,
CallBack  callback = null 
)

下载群组中指定的共享文件。

异步方法。

参数
groupId群组 ID。
fileId共享文件 ID。
savePath文件保存路径。
callback操作结果回调,详见 CallBack

◆ GetGroupAnnouncementFromServer()

void AgoraChat.GroupManager.GetGroupAnnouncementFromServer ( string  groupId,
ValueCallBack< string >  callback = null 
)

从服务器获取群公告。

群成员可调用此方法。

异步方法。

参数
groupId群组 ID。
callback操作结果回调,详见 ValueCallBack

◆ GetGroupBlockListFromServer()

void AgoraChat.GroupManager.GetGroupBlockListFromServer ( string  groupId,
int  pageNum = 1,
int  pageSize = 200,
ValueCallBack< List< string > >  callback = null 
)

以分页方式获取群组的黑名单。

仅群主和管理员可调用此方法。

异步方法。

参数
groupId群组 ID。
pageNum当前页码,从 1 开始。
pageSize每页期望返回的黑名单成员数量。
callback操作结果回调,返回黑名单列表或错误信息,详见 ValueCallBack

◆ GetGroupFileListFromServer()

void AgoraChat.GroupManager.GetGroupFileListFromServer ( string  groupId,
int  pageNum = 1,
int  pageSize = 200,
ValueCallBack< List< GroupSharedFile > >  callback = null 
)

从服务器获取群共享文件列表。

若数据量未知且很大,可分页获取,服务器会根据每次传入的 pageSizepageNum 的值返回数据。

异步方法。

参数
groupId群组 ID。
pageNum当前页码,从 1 开始。
pageSize每页期望返回的共享文件数。 查询最后一页时,返回的数量小于 pageSize 的值。
callback操作结果回调,成功返回共享文件列表,失败则返回错误信息,详见 ValueCallBack

◆ GetGroupMemberListFromServer()

void AgoraChat.GroupManager.GetGroupMemberListFromServer ( string  groupId,
int  pageSize = 200,
string  cursor = "",
ValueCallBack< CursorResult< string > >  callback = null 
)

从服务器获取群成员列表。

异步方法。

参数
groupId群组 ID。
pageSize每页期望返回的群成员数。
cursor从该游标位置开始获取数据,首次获取数据时传 null 会从最新一条数据开始获取。
callback操作结果回调,成功返回成员列表及用于下次获取数据的cursor,失败返回错误信息,详见 ValueCallBack

◆ GetGroupMuteListFromServer()

void AgoraChat.GroupManager.GetGroupMuteListFromServer ( string  groupId,
int  pageNum = 1,
int  pageSize = 200,
ValueCallBack< Dictionary< string, long > >  callback = null 
)

获取群组的禁言列表。

仅群主和管理员可调用此方法。

异步方法。

参数
groupId群组 ID。
pageNum当前页码,从 1 开始。
pageSize每页期望返回的禁言成员数。
callback操作结果回调,成功返回禁言列表,失败返回错误信息,详见 ValueCallBack

◆ GetGroupSpecificationFromServer()

void AgoraChat.GroupManager.GetGroupSpecificationFromServer ( string  groupId,
ValueCallBack< Group callback = null 
)

获取群详情。

异步方法。

参数
groupId群组 ID。
callback操作结果回调,成功返群组实例,失败返回错误信息,详见 ValueCallBack

◆ GetGroupAllowListFromServer()

void AgoraChat.GroupManager.GetGroupAllowListFromServer ( string  groupId,
ValueCallBack< List< string > >  callback = null 
)

获取群组白名单列表。

仅聊天室创建者和管理员可调用此方法。

异步方法。

参数
groupId群组 ID。
callback操作结果回调,成功返回白名单列表,失败返回错误信息,详见 ValueCallBack

◆ GetGroupWithId()

Group AgoraChat.GroupManager.GetGroupWithId ( string  groupId)

根据群组 ID,从内存中获得群组对象。

参数
groupId群组 ID。
返回
返回群组对象。如果群组不存在,返回 null

◆ GetJoinedGroups()

List< Group > AgoraChat.GroupManager.GetJoinedGroups ( )

从本地内存和数据库获取加入的群组列表。

返回
返回群组列表。

◆ FetchJoinedGroupsFromServer() [1/2]

void AgoraChat.GroupManager.FetchJoinedGroupsFromServer ( int  pageNum = 0,
int  pageSize = 20,
bool  needAffiliations = false,
bool  needRole = false,
ValueCallBack< List< Group > >  callback = null 
)

以分页方式从服务器获取当前用户加入的群组。

此操作只返回群组列表,不包含群组的所有成员信息。

异步方法,会阻塞当前线程。

参数
pageNum当前页码,从 0 开始。
pageSize每页期望返回的群组数,取值范围为[1,20]。
needAffiliations是否获取成员数目。
needRole是否获取当前用户在群中的角色。
callback操作结果回调,成功群组列表,失败返回错误信息,详见 ValueCallBack

◆ FetchJoinedGroupsFromServer() [2/2]

void AgoraChat.GroupManager.FetchJoinedGroupsFromServer ( int  pageNum = 0,
int  pageSize = 20,
ValueCallBack< List< Group > >  callback = null 
)

以分页方式从服务器获取当前用户加入的群组。

此操作只返回群组列表,不包含群组的所有成员信息。

异步方法,会阻塞当前线程。

参数
pageNum当前页码,从 0 开始。
pageSize每页期望返回的群组数,缺省为20。
callback操作结果回调,成功群组列表,失败返回错误信息,详见 ValueCallBack

◆ FetchPublicGroupsFromServer()

void AgoraChat.GroupManager.FetchPublicGroupsFromServer ( int  pageSize = 200,
string  cursor = "",
ValueCallBack< CursorResult< GroupInfo > >  callback = null 
)

以分页方式从服务器获取公开群组。

异步方法。

参数
pageSize每页期望返回的公开群组数量。
cursor从该游标位置开始取数据,首次获取数据时传 null 从最新数据开始获取。
callback操作结果回调,成功返回获取的成员列表及用于下次获取数据的cursor,失败则返回错误信息,详见 ValueCallBack

◆ JoinPublicGroup()

void AgoraChat.GroupManager.JoinPublicGroup ( string  groupId,
CallBack  callback = null 
)

加入公开群组。

异步方法。

参数
groupId公开群组 ID。
callback操作结果回调,详见 CallBack

◆ LeaveGroup()

void AgoraChat.GroupManager.LeaveGroup ( string  groupId,
CallBack  callback = null 
)

当前登录用户退出群组。

异步方法。

参数
groupId群组 ID。
callback操作结果回调,详见 CallBack

◆ MuteGroupAllMembers()

void AgoraChat.GroupManager.MuteGroupAllMembers ( string  groupId,
CallBack  callback = null 
)

对群组成员全部禁言。

仅群主和管理员可调用此方法。

异步方法。

参数
groupId群组 ID。
callback操作结果回调,详见 CallBack

◆ MuteGroupMembers()

void AgoraChat.GroupManager.MuteGroupMembers ( string  groupId,
List< string >  members,
long  muteMilliseconds = -1,
CallBack  callback = null 
)

将多个成员禁言。

仅群主和管理员可调用此方法。

异步方法。

参数
groupId群组 ID。
members要禁言的用户列表。
muteMilliseconds禁言时长, -1 为永久禁言。
callback操作结果回调,详见 CallBack

◆ RemoveGroupAdmin()

void AgoraChat.GroupManager.RemoveGroupAdmin ( string  groupId,
string  memberId,
CallBack  callback = null 
)

删除群组管理员。

仅群主可调用此方法。

异步方法。

参数
groupId群组 ID。
memberId删除的管理员 ID。
callback操作结果回调,详见 CallBack

◆ DeleteGroupSharedFile()

void AgoraChat.GroupManager.DeleteGroupSharedFile ( string  groupId,
string  fileId,
CallBack  callback = null 
)

删除群组指定的共享文件。

群组成员可以删除自己上传的文件,群主或者群组管理员可以删除所有的共享文件。

异步方法。

参数
groupId群组 ID。
fileId共享文件 ID。
callback操作结果回调,详见 CallBack

◆ DeleteGroupMembers()

void AgoraChat.GroupManager.DeleteGroupMembers ( string  groupId,
List< string >  members,
CallBack  callback = null 
)

从群组中删除成员。

仅群主和管理员可调用此方法。

异步方法。

参数
groupId群组 ID。
members要删除的成员。
callback操作结果回调,详见 CallBack

◆ RemoveGroupAllowList()

void AgoraChat.GroupManager.RemoveGroupAllowList ( string  groupId,
List< string >  members,
CallBack  callback = null 
)

将成员移除群组白名单。

仅群组创建者和管理员可调用此方法。

异步方法。

参数
groupId群组 ID。
members需从白名单中移除的成员列表。
callback操作结果回调,详见 CallBack

◆ UnBlockGroup()

void AgoraChat.GroupManager.UnBlockGroup ( string  groupId,
CallBack  callback = null 
)

取消屏蔽群消息。

异步方法。

参数
groupId群组 ID。
callback操作结果回调,详见 CallBack

◆ UnBlockGroupMembers()

void AgoraChat.GroupManager.UnBlockGroupMembers ( string  groupId,
List< string >  members,
CallBack  callback = null 
)

将用户移除群组黑名单。

仅群主和管理员可调用此方法。

异步方法。

参数
groupId群组 ID。
members要从黑名单中移除的用户列表。
callback操作结果回调,详见 CallBack

◆ UnMuteGroupAllMembers()

void AgoraChat.GroupManager.UnMuteGroupAllMembers ( string  groupId,
CallBack  callback = null 
)

解除全员禁言。

仅群主和管理员可调用此方法。

异步方法。

参数
groupId群组 ID。
callback操作结果回调,详见 CallBack

◆ UnMuteGroupMembers()

void AgoraChat.GroupManager.UnMuteGroupMembers ( string  groupId,
List< string >  members,
CallBack  callback = null 
)

解除禁言。

仅群主和管理员可调用此方法。

异步方法。

参数
groupId群组 ID。
members要解除禁言的用户列表。
callback操作结果回调,详见 CallBack

◆ UpdateGroupAnnouncement()

void AgoraChat.GroupManager.UpdateGroupAnnouncement ( string  groupId,
string  announcement,
CallBack  callback = null 
)

更新群公告。

仅群主和管理员可调用此方法。

异步方法。

参数
groupId群组 ID。
announcement公告内容。
callback操作结果回调,详见 CallBack

◆ UpdateGroupExt()

void AgoraChat.GroupManager.UpdateGroupExt ( string  groupId,
string  ext,
CallBack  callback = null 
)

更新群组扩展字段。

仅群主和管理员可调用此方法。

异步方法。

参数
groupId群组 ID。
ext群组扩展字段。
callback操作结果回调,详见 CallBack

◆ UploadGroupSharedFile()

void AgoraChat.GroupManager.UploadGroupSharedFile ( string  groupId,
string  filePath,
CallBack  callback = null 
)

上传共享文件至群组。

异步方法。

参数
groupId群组 ID。
filePath共享文件的本地路径。
callback操作结果回调,详见 CallBack

◆ SetMemberAttributes()

void AgoraChat.GroupManager.SetMemberAttributes ( string  groupId,
string  userId,
Dictionary< string, string >  attrs,
CallBack  callback = null 
)

设置单个群成员的自定义属性。

异步方法。

参数
groupId群组 ID。
userId要设置自定义属性的群成员的用户 ID。
callback操作结果回调,详见 CallBack

◆ FetchMemberAttributes()

void AgoraChat.GroupManager.FetchMemberAttributes ( string  groupId,
List< string >  userIds,
List< string >  attrs,
ValueCallBack< Dictionary< string, Dictionary< string, string > > >  callback = null 
)

根据指定的属性 key 获取多个群成员的自定义属性。

异步方法。

参数
groupId群组 ID。
userIds要获取自定义属性的群成员的用户 ID 数组。最多可传 10 个用户 ID。
attrs要获取自定义属性的 key 的数组。若 keys 为空数组或不传则获取这些群成员的所有自定义属性。
callback操作结果回调,详见 ValueCallBack

◆ FetchMyGroupsCount()

void AgoraChat.GroupManager.FetchMyGroupsCount ( ValueCallBack< int >  callback = null)

从服务器获取当前用户已加入的群组数量。

异步方法。

参数
callback操作结果回调,详见 ValueCallBack

◆ AddGroupManagerDelegate()

void AgoraChat.GroupManager.AddGroupManagerDelegate ( IGroupManagerDelegate  groupManagerDelegate)

注册群组管理器的监听器。

参数
groupManagerDelegate要注册的群组管理器的监听器,继承自 IGroupManagerDelegate

◆ RemoveGroupManagerDelegate()

void AgoraChat.GroupManager.RemoveGroupManagerDelegate ( IGroupManagerDelegate  groupManagerDelegate)

移除群组管理器的监听器。

参数
groupManagerDelegate要移除的群组管理器的监听器,继承自 IGroupManagerDelegate