版本記錄
版本號 | 時間 |
---|---|
V1.0 | 2017.06.10 |
前言
很多app種都集成環(huán)信做第三方信息通訊工具,這里我們就看一下環(huán)信的主要功能和集成方法凑阶。先給出環(huán)信3.0的地址。
感興趣的可以參考:
1. 環(huán)信ios客戶端的集成(一)
2. 環(huán)信ios客戶端的集成(二)
3. 環(huán)信ios客戶端的集成(三)
4. 環(huán)信ios客戶端的集成(四)
5. 環(huán)信ios客戶端的集成(五)
這一篇主要說一下環(huán)信的 好友管理何什。
一捣鲸、獲取好友列表
注:環(huán)信不是好友也可以聊天,不推薦使用環(huán)信的好友機制甸箱。如果你有自己的服務(wù)器或好友關(guān)系育叁,請自己維護好友關(guān)系。
獲取好友列表芍殖,環(huán)信提供了兩種方法豪嗽。
1. 從服務(wù)器獲取所有的好友
EMError *error = nil;
NSArray *userlist = [[EMClient sharedClient].contactManager getContactsFromServerWithError:&error];
if (!error) {
NSLog(@"獲取成功 -- %@",buddyList);
}
2. 從數(shù)據(jù)庫獲取所有的好友
NSArray *userlist = [[EMClient sharedClient].contactManager getContacts];
二、好友申請
1. 發(fā)送加好友申請
環(huán)信 iOS SDK 提供了添加好友的方法豌骏。
EMError *error = [[EMClient sharedClient].contactManager addContact:@"6001" message:@"我想加您為好友"];
if (!error) {
NSLog(@"添加成功");
}
2. 監(jiān)聽加好友請求
當您收到好友請求龟梦,如果您沒有處理,請自己保存數(shù)據(jù)肯适,新協(xié)議下不會每次都發(fā)送变秦。
//注冊好友回調(diào)
[[EMClient sharedClient].contactManager addDelegate:self delegateQueue:nil];
//移除好友回調(diào)
[[EMClient sharedClient].contactManager removeDelegate:self];
監(jiān)聽回調(diào)
/*!
* 用戶A發(fā)送加用戶B為好友的申請,用戶B會收到這個回調(diào)
*
* @param aUsername 用戶名
* @param aMessage 附屬信息
*/
- (void)friendRequestDidReceiveFromUser:(NSString *)aUsername
message:(NSString *)aMessage;
3. 同意加好友申請
EMError *error = [[EMClient sharedClient].contactManager acceptInvitationForUsername:@"8001"];
if (!error) {
NSLog(@"發(fā)送同意成功");
}
4. 拒絕加好友申請
EMError *error = [[EMClient sharedClient].contactManager declineInvitationForUsername:@"8001"];
if (!error) {
NSLog(@"發(fā)送拒絕成功");
}
5. 好友申請?zhí)幚斫Y(jié)果回調(diào)
監(jiān)聽回調(diào)
/*!
@method
@brief 用戶A發(fā)送加用戶B為好友的申請框舔,用戶B同意后,用戶A會收到這個回調(diào)
*/
- (void)friendRequestDidApproveByUser:(NSString *)aUsername;
/*!
@method
@brief 用戶A發(fā)送加用戶B為好友的申請,用戶B拒絕后刘绣,用戶A會收到這個回調(diào)
*/
- (void)friendRequestDidDeclineByUser:(NSString *)aUsername;
三樱溉、刪除好友
// 刪除好友
EMError *error = [[EMClient sharedClient].contactManager deleteContact:@"6001" isDeleteConversation:YES];
if (!error) {
NSLog(@"刪除成功");
}
- deleteContact: 要刪除的用戶
- isDeleteConversation: 是否刪除對應(yīng)的會話和消息
四、黑名單
1. 獲取好友黑名單
環(huán)信的黑名單體系是獨立的纬凤,與好友無任何關(guān)系福贞。也就是說,您可以將任何人加入黑名單停士,不論他是否與您是好友關(guān)系挖帘。同時,如果您將好友加入黑名單恋技,則他仍然是您的好友拇舀,只不過同時也在黑名單中。
查詢黑名單列表蜻底,環(huán)信提供了兩種方法骄崩。
同步方法
EMError *error = nil;
NSArray *blacklist = [[EMClient sharedClient].contactManager getBlackListFromServerWithError:&error];
if (!error) {
NSLog(@"獲取成功 -- %@",blockedList);
}
從數(shù)據(jù)庫獲取黑名單列表
NSArray *blockList = [[EMClient sharedClient].contactManager getBlackList];
2. 加入黑名單
//將6001加入黑名單
EMError *error = [[EMClient sharedClient].contactManager addUserToBlackList:@"6001" relationshipBoth:YES];
if (!error) {
NSLog(@"發(fā)送成功");
}
3. 移出黑名單
接口調(diào)用
// 將6001移除黑名單
EMError *error = [[EMClient sharedClient].contactManager removeUserFromBlackList:@"6001"];
if (!error) {
NSLog(@"發(fā)送成功");
}
后記
未完,待續(xù)~~~
風景