HyphenateSDK  3.1.4
构造函数 | 所有成员列表
<IEMGroupManager>协议 参考

#import <IEMGroupManager.h>

类 <IEMGroupManager> 继承关系图:

构造函数

(void) - addDelegate:delegateQueue:
 
(void) - removeDelegate:
 
(NSArray *) - getAllGroups
 
(NSArray *) - loadAllMyGroupsFromDB
 
(NSArray *) - getAllIgnoredGroupIds
 
(NSArray *) - getMyGroupsFromServerWithError:
 
(EMCursorResult *) - getPublicGroupsFromServerWithCursor:pageSize:error:
 
(EMGroup *) - searchPublicGroupWithId:error:
 
(EMGroup *) - createGroupWithSubject:description:invitees:message:setting:error:
 
(EMGroup *) - fetchGroupInfo:includeMembersList:error:
 
(NSArray *) - fetchGroupBansList:error:
 
(EMGroup *) - addOccupants:toGroup:welcomeMessage:error:
 
(EMGroup *) - removeOccupants:fromGroup:error:
 
(EMGroup *) - blockOccupants:fromGroup:error:
 
(EMGroup *) - unblockOccupants:forGroup:error:
 
(EMGroup *) - changeGroupSubject:forGroup:error:
 
(EMGroup *) - changeDescription:forGroup:error:
 
(EMGroup *) - leaveGroup:error:
 
(EMGroup *) - destroyGroup:error:
 
(EMGroup *) - blockGroup:error:
 
(EMGroup *) - unblockGroup:error:
 
(EMGroup *) - joinPublicGroup:error:
 
(EMGroup *) - applyJoinPublicGroup:message:error:
 
(EMError *) - acceptJoinApplication:applicant:
 
(EMError *) - declineJoinApplication:applicant:reason:
 
(EMGroup *) - acceptInvitationFromGroup:inviter:error:
 
(EMError *) - declineInvitationFromGroup:inviter:reason:
 
(EMError *) - ignoreGroupPush:ignore:
 
(void) - asyncGetMyGroupsFromServer:failure:
 
(void) - asyncGetPublicGroupsFromServerWithCursor:pageSize:success:failure:
 
(void) - asyncSearchPublicGroupWithId:success:failure:
 
(void) - asyncCreateGroupWithSubject:description:invitees:message:setting:success:failure:
 
(void) - asyncFetchGroupInfo:includeMembersList:success:failure:
 
(void) - asyncFetchGroupBansList:success:failure:
 
(void) - asyncAddOccupants:toGroup:welcomeMessage:success:failure:
 
(void) - asyncRemoveOccupants:fromGroup:success:failure:
 
(void) - asyncBlockOccupants:fromGroup:success:failure:
 
(void) - asyncUnblockOccupants:forGroup:success:failure:
 
(void) - asyncChangeGroupSubject:forGroup:success:failure:
 
(void) - asyncChangeDescription:forGroup:success:failure:
 
(void) - asyncLeaveGroup:success:failure:
 
(void) - asyncDestroyGroup:success:failure:
 
(void) - asyncBlockGroup:success:failure:
 
(void) - asyncUnblockGroup:success:failure:
 
(void) - asyncJoinPublicGroup:success:failure:
 
(void) - asyncApplyJoinPublicGroup:message:success:failure:
 
(void) - asyncAcceptJoinApplication:applicant:success:failure:
 
(void) - asyncDeclineJoinApplication:applicant:reason:success:failure:
 
(void) - asyncAcceptInvitationFromGroup:inviter:success:failure:
 
(void) - asyncDeclineInvitationFromGroup:inviter:reason:success:failure:
 
(void) - asyncIgnoreGroupPush:ignore:success:failure:
 

详细描述

IEMGroupManager.h 此协议定义了群组相关操作

作者
Hyphenate
版本
3.00

群组相关操作

函数文档

- (EMGroup *) acceptInvitationFromGroup: (NSString *)  aGroupId
inviter: (NSString *)  aUsername
error: (EMError **)  pError 
required

接受入群邀请

同步方法,会阻塞当前线程

参数
groupId接受的群组ID
aUsername邀请者
pError错误信息
返回
接受的群组实例
- (EMError *) acceptJoinApplication: (NSString *)  aGroupId
applicant: (NSString *)  aUsername 
required

批准入群申请, 需要Owner权限

同步方法,会阻塞当前线程

参数
aGroupId所申请的群组ID
aUsername申请人
返回
错误信息
- (void) addDelegate: (id< EMGroupManagerDelegate >)  aDelegate
delegateQueue: (dispatch_queue_t)  aQueue 
required

添加回调代理

参数
aDelegate要添加的代理
aQueue添加回调代理
- (EMGroup *) addOccupants: (NSArray *)  aOccupants
toGroup: (NSString *)  aGroupId
welcomeMessage: (NSString *)  aWelcomeMessage
error: (EMError **)  pError 
required

邀请用户加入群组

同步方法,会阻塞当前线程

参数
aOccupants被邀请的用户名列表
aGroupId群组ID
aWelcomeMessage欢迎信息
pError错误信息
返回
群组实例, 失败返回nil
- (EMGroup *) applyJoinPublicGroup: (NSString *)  aGroupId
message: (NSString *)  aMessage
error: (EMError **)  pError 
required

申请加入一个需批准的公开群组,群类型应该是EMGroupStylePublicJoinNeedApproval

同步方法,会阻塞当前线程

参数
aGroupId公开群组的ID
aMessage请求加入的信息
pError错误信息
返回
申请加入的公开群组
- (void) asyncAcceptInvitationFromGroup: (NSString *)  aGroupId
inviter: (NSString *)  aUsername
success: (void(^)(EMGroup *aGroup))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

接受入群邀请

参数
groupId接受的群组ID
aUsername邀请者
pError错误信息
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncAcceptJoinApplication: (NSString *)  aGroupId
applicant: (NSString *)  aUsername
success: (void(^)())  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

批准入群申请, 需要Owner权限

参数
aGroupId所申请的群组ID
aUsername申请人
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncAddOccupants: (NSArray *)  aOccupants
toGroup: (NSString *)  aGroupId
welcomeMessage: (NSString *)  aWelcomeMessage
success: (void(^)(EMGroup *aGroup))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

邀请用户加入群组

参数
aOccupants被邀请的用户名列表
aGroupId群组ID
aWelcomeMessage欢迎信息
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncApplyJoinPublicGroup: (NSString *)  aGroupId
message: (NSString *)  aMessage
success: (void(^)(EMGroup *aGroup))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

申请加入一个需批准的公开群组,群类型应该是EMGroupStylePublicJoinNeedApproval

参数
aGroupId公开群组的ID
aMessage请求加入的信息
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncBlockGroup: (NSString *)  aGroupId
success: (void(^)(EMGroup *aGroup))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

屏蔽群消息,服务器不再发送此群的消息给用户,owner不能屏蔽群消息

参数
aGroupId要屏蔽的群ID
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncBlockOccupants: (NSArray *)  aOccupants
fromGroup: (NSString *)  aGroupId
success: (void(^)(EMGroup *aGroup))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

加人到群组黑名单, 需要owner权限

参数
aOccupants要加入黑名单的用户
aGroupId群组ID
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncChangeDescription: (NSString *)  aDescription
forGroup: (NSString *)  aGroupId
success: (void(^)(EMGroup *aGroup))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

更改群组说明信息, 需要owner权限

参数
aDescription说明信息
aGroupId群组ID
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncChangeGroupSubject: (NSString *)  aSubject
forGroup: (NSString *)  aGroupId
success: (void(^)(EMGroup *aGroup))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

更改群组主题, 需要owner权限

参数
aSubject新主题
aGroupId群组ID
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncCreateGroupWithSubject: (NSString *)  aSubject
description: (NSString *)  aDescription
invitees: (NSArray *)  aInvitees
message: (NSString *)  aMessage
setting: (EMGroupOptions *)  aSetting
success: (void(^)(EMGroup *aGroup))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

创建群组

参数
aSubject群组名称
aDescription群组描述
aInvitees群组成员(不包括创建者自己)
aMessage邀请消息
aSetting群组属性
aSuccessBlockThe callback block of success
aFailureBlockThe callback block of failure
- (void) asyncDeclineInvitationFromGroup: (NSString *)  aGroupId
inviter: (NSString *)  aUsername
reason: (NSString *)  aReason
success: (void(^)())  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

拒绝入群邀请

参数
aGroupId被拒绝的群组ID
aUsername邀请人
aReason拒绝理由
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncDeclineJoinApplication: (NSString *)  aGroupId
applicant: (NSString *)  aUsername
reason: (NSString *)  aReason
success: (void(^)())  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

拒绝入群申请, 需要Owner权限

参数
aGroupId被拒绝的群组ID
aUsername申请人
aReason拒绝理由
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncDestroyGroup: (NSString *)  aGroupId
success: (void(^)(EMGroup *aGroup))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

解散群组, 需要owner权限

参数
aGroupId群组ID
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncFetchGroupBansList: (NSString *)  aGroupId
success: (void(^)(NSArray *aList))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

获取群组黑名单列表, 需要owner权限

参数
aGroupId群组ID
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncFetchGroupInfo: (NSString *)  aGroupId
includeMembersList: (BOOL)  aIncludeMembersList
success: (void(^)(EMGroup *aGroup))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

获取群组详情

参数
aGroupId群组ID
aIncludeMembersList是否获取成员列表
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncGetMyGroupsFromServer: (void(^)(NSArray *aList))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

从服务器获取用户所有的群组,成功后更新DB和内存中的群组列表

参数
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncGetPublicGroupsFromServerWithCursor: (NSString *)  aCursor
pageSize: (NSInteger)  aPageSize
success: (void(^)(EMCursorResult *aCursor))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

从服务器获取指定范围内的公开群

参数
aCursor获取公开群的cursor,首次调用传空
aPageSize期望返回结果的数量, 如果 < 0 则一次返回所有结果
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncIgnoreGroupPush: (NSString *)  aGroupId
ignore: (BOOL)  aIsIgnore
success: (void(^)())  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

屏蔽/取消屏蔽群组消息的推送

参数
aGroupId群组ID
aIgnore是否屏蔽
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncJoinPublicGroup: (NSString *)  aGroupId
success: (void(^)(EMGroup *aGroup))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

加入一个公开群组,群类型应该是EMGroupStylePublicOpenJoin

参数
aGroupId公开群组的ID
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncLeaveGroup: (NSString *)  aGroupId
success: (void(^)(EMGroup *aGroup))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

退出群组,owner不能退出群,只能销毁群

参数
aGroupId群组ID
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncRemoveOccupants: (NSArray *)  aOccupants
fromGroup: (NSString *)  aGroupId
success: (void(^)(EMGroup *aGroup))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

将群成员移出群组, 需要owner权限

参数
aOccupants要移出群组的用户列表
aGroupId群组ID
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncSearchPublicGroupWithId: (NSString *)  aGroundId
success: (void(^)(EMGroup *aGroup))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

根据群ID搜索公开群

参数
aGroundId群组id
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncUnblockGroup: (NSString *)  aGroupId
success: (void(^)(EMGroup *aGroup))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

取消屏蔽群消息

参数
aGroupId要取消屏蔽的群ID
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (void) asyncUnblockOccupants: (NSArray *)  aOccupants
forGroup: (NSString *)  aGroupId
success: (void(^)(EMGroup *aGroup))  aSuccessBlock
failure: (void(^)(EMError *aError))  aFailureBlock 
required

从群组黑名单中减人, 需要owner权限

参数
aOccupants要从黑名单中移除的用户名列表
aGroupId群组ID
aSuccessBlock成功的回调
aFailureBlock失败的回调
- (EMGroup *) blockGroup: (NSString *)  aGroupId
error: (EMError **)  pError 
required

屏蔽群消息,服务器不再发送此群的消息给用户,owner不能屏蔽群消息

同步方法,会阻塞当前线程

参数
aGroupId要屏蔽的群ID
pError错误信息
返回
群组实例
- (EMGroup *) blockOccupants: (NSArray *)  aOccupants
fromGroup: (NSString *)  aGroupId
error: (EMError **)  pError 
required

加人到群组黑名单, 需要owner权限

同步方法,会阻塞当前线程

参数
aOccupants要加入黑名单的用户
aGroupId群组ID
pError错误信息
返回
群组实例
- (EMGroup *) changeDescription: (NSString *)  aDescription
forGroup: (NSString *)  aGroupId
error: (EMError **)  pError 
required

更改群组说明信息, 需要owner权限

同步方法,会阻塞当前线程

参数
aDescription说明信息
aGroupId群组ID
pError错误信息
返回
群组对象
- (EMGroup *) changeGroupSubject: (NSString *)  aSubject
forGroup: (NSString *)  aGroupId
error: (EMError **)  pError 
required

更改群组主题, 需要owner权限

同步方法,会阻塞当前线程

参数
aSubject新主题
aGroupId群组ID
pError错误信息
返回
群组对象
- (EMGroup *) createGroupWithSubject: (NSString *)  aSubject
description: (NSString *)  aDescription
invitees: (NSArray *)  aInvitees
message: (NSString *)  aMessage
setting: (EMGroupOptions *)  aSetting
error: (EMError **)  pError 
required

创建群组

同步方法,会阻塞当前线程

参数
aSubject群组名称
aDescription群组描述
aInvitees群组成员(不包括创建者自己)
aMessage邀请消息
aSetting群组属性
pError出错信息
返回
创建的群组
- (EMError *) declineInvitationFromGroup: (NSString *)  aGroupId
inviter: (NSString *)  aUsername
reason: (NSString *)  aReason 
required

拒绝入群邀请

同步方法,会阻塞当前线程

参数
aGroupId被拒绝的群组ID
aUsername邀请人
aReason拒绝理由
返回
错误信息
- (EMError *) declineJoinApplication: (NSString *)  aGroupId
applicant: (NSString *)  aUsername
reason: (NSString *)  aReason 
required

拒绝入群申请, 需要Owner权限

同步方法,会阻塞当前线程

参数
aGroupId被拒绝的群组ID
aUsername申请人
aReason拒绝理由
返回
错误信息
- (EMGroup *) destroyGroup: (NSString *)  aGroupId
error: (EMError **)  pError 
required

解散群组, 需要owner权限

同步方法,会阻塞当前线程

参数
aGroupId群组ID
pError错误信息
返回
销毁的群组实例, 失败返回nil
- (NSArray *) fetchGroupBansList: (NSString *)  aGroupId
error: (EMError **)  pError 
required

获取群组黑名单列表, 需要owner权限

同步方法,会阻塞当前线程

参数
aGroupId群组ID
pError错误信息
返回
群组黑名单列表<NSString>
- (EMGroup *) fetchGroupInfo: (NSString *)  aGroupId
includeMembersList: (BOOL)  aIncludeMembersList
error: (EMError **)  pError 
required

获取群组详情

同步方法,会阻塞当前线程

参数
aGroupId群组ID
aIncludeMembersList是否获取成员列表
pError错误信息
返回
群组
- (NSArray *) getAllGroups
required

获取所有群组,如果内存中不存在,则先从DB加载

返回
群组列表<EMGroup>
- (NSArray *) getAllIgnoredGroupIds
required

从内存中获取屏蔽了推送的群组ID列表

返回
群组ID列表<NSString>
- (NSArray *) getMyGroupsFromServerWithError: (EMError **)  pError
required

从服务器获取用户所有的群组,成功后更新DB和内存中的群组列表

同步方法,会阻塞当前线程

参数
pError错误信息
返回
群组列表<EMGroup>
- (EMCursorResult *) getPublicGroupsFromServerWithCursor: (NSString *)  aCursor
pageSize: (NSInteger)  aPageSize
error: (EMError **)  pError 
required

从服务器获取指定范围内的公开群

同步方法,会阻塞当前线程

参数
aCursor获取公开群的cursor,首次调用传空
aPageSize期望返回结果的数量, 如果 < 0 则一次返回所有结果
pError出错信息
返回
获取的公开群结果
- (EMError *) ignoreGroupPush: (NSString *)  aGroupId
ignore: (BOOL)  aIsIgnore 
required

屏蔽/取消屏蔽群组消息的推送

同步方法,会阻塞当前线程

参数
aGroupId群组ID
aIgnore是否屏蔽
返回
错误信息
- (EMGroup *) joinPublicGroup: (NSString *)  aGroupId
error: (EMError **)  pError 
required

加入一个公开群组,群类型应该是EMGroupStylePublicOpenJoin

同步方法,会阻塞当前线程

参数
aGroupId公开群组的ID
pError错误信息
返回
所加入的公开群组
- (EMGroup *) leaveGroup: (NSString *)  aGroupId
error: (EMError **)  pError 
required

退出群组,owner不能退出群,只能销毁群

同步方法,会阻塞当前线程

参数
aGroupId群组ID
pError错误信息
返回
退出的群组对象, 失败返回nil
- (NSArray *) loadAllMyGroupsFromDB
required

从数据库加载所有群组,加载后更新内存中的群组列表

返回
群组列表<EMGroup>
- (void) removeDelegate: (id)  aDelegate
required

移除回调代理

参数
aDelegate要移除的代理
- (EMGroup *) removeOccupants: (NSArray *)  aOccupants
fromGroup: (NSString *)  aGroupId
error: (EMError **)  pError 
required

将群成员移出群组, 需要owner权限

同步方法,会阻塞当前线程

参数
aOccupants要移出群组的用户列表
aGroupId群组ID
pError错误信息
返回
群组实例
- (EMGroup *) searchPublicGroupWithId: (NSString *)  aGroundId
error: (EMError **)  pError 
required

根据群ID搜索公开群

同步方法,会阻塞当前线程

参数
aGroundId群组id
pError错误信息
返回
搜索到的群组
- (EMGroup *) unblockGroup: (NSString *)  aGroupId
error: (EMError **)  pError 
required

取消屏蔽群消息

同步方法,会阻塞当前线程

参数
aGroupId要取消屏蔽的群ID
pError错误信息
返回
返回群组实例
- (EMGroup *) unblockOccupants: (NSArray *)  aOccupants
forGroup: (NSString *)  aGroupId
error: (EMError **)  pError 
required

从群组黑名单中减人, 需要owner权限

同步方法,会阻塞当前线程

参数
aOccupants要从黑名单中移除的用户名列表
aGroupId群组ID
pError错误信息
返回
群组对象

该协议的文档由以下文件生成: