IChatManagerBuddy

Extends Protocol:
IChatManagerBase
Declared In:

Introduction

本协议包括:添加好友,删除好友,接受好友请求等方法



Methods

-acceptBuddyRequest:error:

接受某个好友发送的好友请求

-addBuddy:message:error:

申请添加某个用户为好友

-addBuddy:message:toGroups:error:

申请添加某个用户为好友,同时将该好友添加到分组中,好友与分组可以多对多

-addBuddy:withNickname:message:error:

申请添加某个用户为好友

-addBuddy:withNickname:message:toGroups:error:

申请添加某个用户为好友,同时将该好友添加到分组中,好友与分组可以多对多

-asyncBlockBuddy:relationship:

异步方法,将username的用户加到黑名单(该用户不会被从好友中删除,若想删除,请自行调用删除接口)

-asyncBlockBuddy:relationship:withCompletion:onQueue:

异步方法,将username的用户加到黑名单(该用户不会被从好友中删除,若想删除,请自行调用删除接口)

-asyncFetchBlockedList

获取黑名单(异步方法)

-asyncFetchBlockedListWithCompletion:onQueue:

获取黑名单(异步方法)

-asyncFetchBlockListWithCompletion:onQueue:

获取黑名单(异步方法)

-asyncFetchBuddyList

手动获取好友列表(异步方法)

-asyncFetchBuddyListWithCompletion:onQueue:

手动获取好友列表(异步方法)

-asyncUnblockBuddy:

异步方法,将username的用户移出黑名单

-asyncUnblockBuddy:withCompletion:onQueue:

异步方法,将username的用户移出黑名单

-blockBuddy:relationship:

将username的用户加到黑名单(该用户不会被从好友中删除,若想删除,请自行调用删除接口)

-fetchBlockedList:

获取黑名单(同步方法)

-fetchBuddyListWithError:

手动获取好友列表

-rejectBuddyRequest:reason:error:

拒绝某个好友发送的好友请求

-removeBuddy:removeFromRemote:error:

将某个用户从好友列表中移除

-unblockBuddy:

将username的用户移出黑名单


acceptBuddyRequest:error:


接受某个好友发送的好友请求

@required

- (BOOL)acceptBuddyRequest:(NSString *)username error:(EMError **)pError;
Parameters
username

需要接受的好友username

pError

错误信息

Return Value

是否接受成功


addBuddy:message:error:


申请添加某个用户为好友

@required

- (BOOL)addBuddy:(NSString *)username message:(NSString *)message error:(EMError **)pError;
Parameters
username

需要添加为好友的username

message

申请添加好友时的附带信息

pError

错误信息

Return Value

好友申请是否发送成功


addBuddy:message:toGroups:error:


申请添加某个用户为好友,同时将该好友添加到分组中,好友与分组可以多对多

@required

- (BOOL)addBuddy:(NSString *)username message:(NSString *)message toGroups:(NSArray *)groupNames error:(EMError **)pError;
Parameters
username

需要添加为好友的username

message

申请添加好友时的附带信息

groupNames

将好友添加到分组中(groupNames由NSString对象组成)

pError

错误信息

Return Value

好友申请是否发送成功


addBuddy:withNickname:message:error:


申请添加某个用户为好友

@optional

- (BOOL)addBuddy:(NSString *)username withNickname:(NSString *)nickname message:(NSString *)message error:(EMError **)pError EM_DEPRECATED_IOS(2_0_6, 2_0_7, "Use- addBuddy:message:error:");
Parameters
username

需要添加为好友的username

nickname

添加好友后的昵称

message

申请添加好友时的附带信息

pError

错误信息

Return Value

好友申请是否发送成功


addBuddy:withNickname:message:toGroups:error:


申请添加某个用户为好友,同时将该好友添加到分组中,好友与分组可以多对多

@optional

- (BOOL)addBuddy:(NSString *)username withNickname:(NSString *)nickname message:(NSString *)message toGroups:(NSArray *)groupNames error:(EMError **)pError EM_DEPRECATED_IOS(2_0_6, 2_0_7, "Use- addBuddy:message:toGroups:error:");
Parameters
username

需要添加为好友的username

nickname

添加好友后的昵称

message

申请添加好友时的附带信息

groupNames

将好友添加到分组中(groupNames由NSString对象组成)

pError

错误信息

Return Value

好友申请是否发送成功


asyncBlockBuddy:relationship:


异步方法,将username的用户加到黑名单(该用户不会被从好友中删除,若想删除,请自行调用删除接口)

@required

- (void)asyncBlockBuddy:(NSString *)username relationship:(EMRelationship)relationship;
Parameters
username

加入黑名单的用户username

relationship

黑名单关系(both:双向都不接受消息; from:能给黑名单中的人发消息,接收不到黑名单中的人发的消息; to:暂不支持)

Discussion

函数执行完, 回调[didBlockBuddy:error:]会被触发


asyncBlockBuddy:relationship:withCompletion:onQueue:


异步方法,将username的用户加到黑名单(该用户不会被从好友中删除,若想删除,请自行调用删除接口)

@required

- (void)asyncBlockBuddy:(NSString *)username relationship:(EMRelationship)relationship withCompletion:(void (^)(NSString *username, EMError *error))completion onQueue:(dispatch_queue_t)aQueue;
Parameters
username

加入黑名单的用户username

relationship

黑名单关系(both:双向都不接受消息; from:能给黑名单中的人发消息,接收不到黑名单中的人发的消息; to:暂不支持)

completion

完成后的回调

aQueue

回调block时的线程

Discussion

加黑名单成功 判断条件:completion中,error == nil 函数执行完, 会调用参数completion


asyncFetchBlockedList


获取黑名单(异步方法)

@required

- (void)asyncFetchBlockedList;
Discussion

函数执行完, 回调[didUpdateBlockedList:]会被触发


asyncFetchBlockedListWithCompletion:onQueue:


获取黑名单(异步方法)

@required

- (void)asyncFetchBlockedListWithCompletion:(void (^)(NSArray *blockedList, EMError *error))completion onQueue:(dispatch_queue_t)aQueue;
Parameters
completion

创建完成后的回调

aQueue

回调block时的线程

Discussion

获取黑名单成功 判断条件:completion中,error == nil 函数执行完, 会调用参数completion


asyncFetchBlockListWithCompletion:onQueue:


获取黑名单(异步方法)

@optional

- (void)asyncFetchBlockListWithCompletion:(void (^)(NSArray *blockedList, EMError *error))completion onQueue:(dispatch_queue_t)aQueue EM_DEPRECATED_IOS(2_0_6, 2_0_7, "Use -asyncFetchBlockedListWithCompletion:onQueue:");
Parameters
completion

创建完成后的回调

aQueue

回调block时的线程

Discussion

获取黑名单成功 判断条件:completion中,error == nil 函数执行完, 会调用参数completion


asyncFetchBuddyList


手动获取好友列表(异步方法)

@required

- (void *)asyncFetchBuddyList;
Discussion

好友列表获取完成时, 会调用 didFetchedBuddyList:error(EMChatManagerBuddyDelegate.h 中) 回调方法


asyncFetchBuddyListWithCompletion:onQueue:


手动获取好友列表(异步方法)

@required

- (void *)asyncFetchBuddyListWithCompletion:(void (^)(NSArray *buddyList, EMError *error))completion onQueue:(dispatch_queue_t)queue;
Parameters
completion

获取好友列表完成后的回调

queue

completion block 回调时的线程


asyncUnblockBuddy:


异步方法,将username的用户移出黑名单

@required

- (void)asyncUnblockBuddy:(NSString *)username;
Parameters
username

加入黑名单的用户username

Discussion

函数执行完, 回调[didUnblockBuddy:error:]会被触发


asyncUnblockBuddy:withCompletion:onQueue:


异步方法,将username的用户移出黑名单

@required

- (void)asyncUnblockBuddy:(NSString *)username withCompletion:(void (^)(NSString *username, EMError *error))completion onQueue:(dispatch_queue_t)aQueue;
Parameters
username

加入黑名单的用户username

completion

完成后的回调

aQueue

回调block时的线程

Discussion

移出黑名单成功 判断条件:completion中,error == nil 函数执行完, 会调用参数completion


blockBuddy:relationship:


将username的用户加到黑名单(该用户不会被从好友中删除,若想删除,请自行调用删除接口)

@required

- (EMError *)blockBuddy:(NSString *)username relationship:(EMRelationship)relationship;
Parameters
username

加入黑名单的用户username

relationship

黑名单关系(both:双向都不接受消息; from:能给黑名单中的人发消息,接收不到黑名单中的人发的消息; to:暂不支持)

Return Value

是否成功的向服务器发送了block信息(不包含 服务器是否成功将用户加入黑名单)


fetchBlockedList:


获取黑名单(同步方法)

@required

- (NSArray *)fetchBlockedList:(EMError **)pError;
Parameters
pError

错误信息

Return Value

黑名单(username)


fetchBuddyListWithError:


手动获取好友列表

@required

- (NSArray *)fetchBuddyListWithError:(EMError **)pError;
Return Value

好友列表


rejectBuddyRequest:reason:error:


拒绝某个好友发送的好友请求

@required

- (BOOL)rejectBuddyRequest:(NSString *)username reason:(NSString *)reason error:(EMError **)pError;
Parameters
username

需要拒绝的好友username

pError

错误信息

Return Value

是否拒绝成功


removeBuddy:removeFromRemote:error:


将某个用户从好友列表中移除

@required

- (BOOL)removeBuddy:(NSString *)username removeFromRemote:(BOOL)removeFromRemote error:(EMError **)pError;
Parameters
username

需要移除的好友username

removeFromRemote

是否将自己从对方好友列表中移除

pError

错误信息

Return Value

是否移除成功


unblockBuddy:


将username的用户移出黑名单

@required

- (EMError *)unblockBuddy:(NSString *)username;
Parameters
username

移出黑名单的用户username

Return Value

是否成功的向服务器发送了unblock信息(不包含 服务器是否成功将用户移出黑名单)


Properties

blockedList

好友黑名单列表(由EMBuddy对象组成)

buddyList

好友列表(由EMBuddy对象组成)


blockedList


好友黑名单列表(由EMBuddy对象组成)

@required

@property (nonatomic, strong, readonly) NSArray *blockedList;

buddyList


好友列表(由EMBuddy对象组成)

@required

@property (nonatomic, strong, readonly) NSArray *buddyList;