android环信2.0 监听加好友请求,好友管理

好友管理

注:环信不是好友也可以聊天,不推荐使用环信的好友机制。如果你有自己的服务器或好友关系,请自己维护好友关系。

获取好友列表

获取好友列表,环信提供了两种方法。

从服务器获取所有的好友

EMError *error = nil;

NSArray *userlist = [[EMClient sharedClient].contactManager getContactsFromServerWithError:&error];

if (!error) {

NSLog(@"获取成功 -- %@",buddyList);

}

从数据库获取所有的好友

NSArray *userlist = [[EMClient sharedClient].contactManager getContacts];

好友申请

发送加好友申请

环信 iOS SDK 提供了添加好友的方法。

EMError *error = [[EMClient sharedClient].contactManager addContact:@"6001" message:@"我想加您为好友"];

if (!error) {

NSLog(@"添加成功");

}

监听加好友请求

当您收到好友请求,如果您没有处理,请自己保存数据,新协议下不会每次都发送。

//注册好友回调

[[EMClient sharedClient].contactManager addDelegate:self delegateQueue:nil];

//移除好友回调

[[EMClient sharedClient].contactManager removeDelegate:self];

监听回调

/*!

* 用户A发送加用户B为好友的申请,用户B会收到这个回调

*

* @param aUsername 用户名

* @param aMessage 附属信息

*/

- (void)friendRequestDidReceiveFromUser:(NSString *)aUsername

message:(NSString *)aMessage;

同意加好友申请

EMError *error = [[EMClient sharedClient].contactManager acceptInvitationForUsername:@"8001"];

if (!error) {

NSLog(@"发送同意成功");

}

拒绝加好友申请

EMError *error = [[EMClient sharedClient].contactManager declineInvitationForUsername:@"8001"];

if (!error) {

NSLog(@"发送拒绝成功");

}

好友申请处理结果回调

监听回调

/*!

@method

@brief 用户A发送加用户B为好友的申请,用户B同意后,用户A会收到这个回调

*/

- (void)friendRequestDidApproveByUser:(NSString *)aUsername;

/*!

@method

@brief 用户A发送加用户B为好友的申请,用户B拒绝后,用户A会收到这个回调

*/

- (void)friendRequestDidDeclineByUser:(NSString *)aUsername;

删除好友

// 删除好友

EMError *error = [[EMClient sharedClient].contactManager deleteContact:@"6001" isDeleteConversation:YES];

if (!error) {

NSLog(@"删除成功");

}deleteContact: 要删除的用户

isDeleteConversation: 是否删除对应的会话和消息

删除好友回调

监听回调

/*!

@method

@brief 用户B删除与用户A的好友关系后,用户A,B会收到这个回调

*/

- (void)friendshipDidRemoveByUser:(NSString *)aUsername;

黑名单

获取好友黑名单

环信的黑名单体系是独立的,与好友无任何关系。也就是说,您可以将任何人加入黑名单,不论他是否与您是好友关系。同时,如果您将好友加入黑名单,则他仍然是您的好友,只不过同时也在黑名单中。

查询黑名单列表,环信提供了两种方法。

同步方法

EMError *error = nil;

NSArray *blacklist = [[EMClient sharedClient].contactManager getBlackListFromServerWithError:&error];

if (!error) {

NSLog(@"获取成功 -- %@",blockedList);

}

从数据库获取黑名单列表

NSArray *blockList = [[EMClient sharedClient].contactManager getBlackList];

加入黑名单

接口调用

//将6001加入黑名单

EMError *error = [[EMClient sharedClient].contactManager addUserToBlackList:@"6001" relationshipBoth:YES];

if (!error) {

NSLog(@"发送成功");

}

移出黑名单

接口调用

// 将6001移除黑名单

EMError *error = [[EMClient sharedClient].contactManager removeUserFromBlackList:@"6001"];

if (!error) {

NSLog(@"发送成功");

}

上一页:消息

下一页:群组管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值