阿里百川IIMSDK-- 加好友,获取好友
生活随笔
收集整理的這篇文章主要介紹了
阿里百川IIMSDK-- 加好友,获取好友
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
加好友, 其實就是跟發消息一樣
獲取好友列表
同步好友列表
SDK內部默認會在每次登陸成功后與服務端同步好友列表,開發者可以通過設置disableAutoRequestAllContacts來禁用這個特性,也可以通過
| 1 | - (void)requestAllContactsFromServerWithResultBlock:(YWContactsOperationResultBlock)resultBlock; |
來主動發起同步請求。
怎么調用呢?
?
獲取本地好友
開發者可以通過
| 1 2 3 4 5 6 | /// 獲取不同排序和分組模式的FRC對象 - (YWFetchedResultsController *)fetchedResultsControllerWithListMode:(YWContactListMode)aMode imCore:(YWIMCore *)imCore; /// 使用關鍵字搜索用戶,使用用戶名 // 如果希望搜索好友,needIsFriend置為YES,否則可以置為NO - (YWFetchedResultsController *)fetchedResultsControllerWithSearchKeyword:(NSString *)aKeyword needIsFriend:(BOOL)needIsFriend imCore:(YWIMCore *)imCore; |
來獲取本地好友。
for example:
YWIMCore *imcore = [SPKitExample sharedInstance].ywIMKit.IMCore;_fetchedResultsController = [[imcore getContactService] fetchedResultsControllerWithListMode:YWContactListModeAlphabetic imCore:imcore];?
好友操作
好友添加
可以通過以下方式來發起添加好友請求:
| 1 2 3 4 5 6 7 8 9 10 11 | [[self.imkit.IMCore getContactService] addContact:person withIntroduction:@"" withResultBlock:^(NSError *error, YWAddContactRequestResult result) { ????????NSString *title = nil; ????????if(result == YWAddContactRequestResultError) { ????????????title = @"請求發送失敗"; ????????} else if (result == YWAddContactRequestResultSuccess) { ????????????title = @"好友添加成功"; ????????} else { ????????????title = @"請求發送成功,等待對方驗證"; ????????} ????????[YWIndicator showTopToastTitle:title content:[NSString stringWithFormat:@"添加%@", person.personId] userInfo:nil withTimeToDisplay:1.5 andClickBlock:nil]; ????}]; |
被添加方可以使用:
| 1 2 | - (void)addAddContactRequestBlockV2:(void (^)(YWPerson *person, YWContactAddRequestType type, BOOL isOffline, NSString *message))block ?????????????????????????????forKey:(NSString *)key ofPriority:(YWBlockPriority)priority; |
來監聽被添加的請求,也可以通過
| 1 | - (YWConversation *)fetchContactSystemConversation; |
來獲取好友請求列表。
對于被添加的請求,可以使用:
| 1 2 3 | - (void)responseToAddContact:(BOOL)accept fromPerson:(YWPerson *)person ?????????????????withMessage:(NSString*)message ??????????????andResultBlock:(YWAddContactResultBlock)resultBlock; |
這個接口接受或者拒絕。
當被添加方處理后,添加發起方可以通過:
| 1 2 | - (void)addAddContactResponseBlockV2:(void (^)(YWPerson *person, YWContactAddResponseType type, BOOL isOffline, NSString *message))block ??????????????????????????????forKey:(NSString *)key ofPriority:(YWBlockPriority)priority; |
來獲得對方處理的結果。
注:以上add開頭添加的block均需要在不使用的時候調用對應的remove方法。
刪除好友
開發者可以通過
| 1 | - (void)removeContact:(YWPerson *)persons withResultBlock:(YWRemoveContactResultBlock)resultBlock; |
來刪除好友,通過
| 1 2 | - (void)addFriendBeRemovedBlock:(void (^)(YWPerson *person, BOOL isOffline))block ?????????????????????????forKey:(NSString *)key ofPriority:(YWBlockPriority)priority; |
來接收被刪除的回調。
修改好友的備注名
開發者可以通過
| 1 | - (void)modifyContact:(YWPerson *)person WithNewNick:(NSString *)nickName andResultBlock:(YWContactOperationResultBlock)resultBlock; |
來修改好友的備注名,通過
| 1 | - (NSString *)contactNickOfPerson:(YWPerson *)aPerson; |
來獲取好友的備注名。
查詢person是否為好友
| 1 | - (BOOL)ifPersonIsFriend:(YWPerson *)person; |
getContactService
還有 /*** 獲取長連接服務*/ - (id<IYWLoginService>)getLoginService;/*** 獲取會話相關服務*/ - (id<IYWConversationService>)getConversationService;/*** 獲取擴展服務*/ - (id<IYWExtensionService>)getExtensionService;/*** 群相關服務*/ - (id<IYWTribeService>)getTribeService;/*** 漫游相關服務*/ - (id<IYWRoamingService>)getRoamingService;/*** 聯系人相關服務(建立好友關系的人,稱為聯系人)*/ - (id<IYWContactService>)getContactService;/*** 緩存相關服務,在imcore登陸前返回nil。* 這里的緩存與imcore相關,跟[YWAPI getGlobalUtilService4Cache]全局緩存的數據不能相互訪問*/ - (id<IYWUtilService4Cache>)getCacheService;/*** 各種設置項*/ - (id<IYWSettingService>)getSettingService;/*** 獲取action相關服務*/ - (id<IYWActionService>)getActionService;/*** 獲取EHelper服務*/ - (id<IYWEHelperService>)getEHelperService;?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的阿里百川IIMSDK-- 加好友,获取好友的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数人科技:打造服务传统金融平台
- 下一篇: 在SQL Server中创建用户角色及授