阿里百川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-- 加好友,获取好友的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 数人科技:打造服务传统金融平台
- 下一篇: vim does not map cus