SDKsiOS含商业版能力
获取收到的好友申请
分页查询 iOS 当前用户收到的好友申请。
分页查询当前登录用户收到的好友申请列表:
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
req | GetFriendApplicationListAsRecipientReq * | 查询收到的好友申请请求对象。 |
| 字段 | 类型 | 说明 |
|---|---|---|
handleResults | NSArray<NSNumber *> * | 申请处理状态筛选列表,传 @[@(OIMApplicationStatusNormal)] 查询待处理申请。 |
offset | NSInteger | 分页起始偏移量,首屏传 0。 |
count | NSInteger | 每页拉取的数据条数。 |
GetFriendApplicationListAsRecipientReq *req = [GetFriendApplicationListAsRecipientReq new];
req.handleResults = @[@(OIMApplicationStatusNormal)];
req.offset = 0;
req.count = 20;
[[OIMManager manager] getFriendApplicationListAsRecipientWithReq:req
onSuccess:^(NSArray<OIMFriendApplication *> *items) {
[requestStore replaceReceived:items];
}
onFailure:^(NSInteger code, NSString *message) {
NSLog(@"getFriendApplicationListAsRecipient failed: %ld %@", (long)code, message);
}];状态以 fromUserID 或 fromUserID:toUserID 为合并标识。
返回结果
成功回调 onSuccess 返回当前分页的 NSArray<OIMFriendApplication *> * 数组。查询仅拉取当前快照,不触发申请事件。
监听好友申请变化
在实现 OIMFriendshipListener 协议的类中监听好友申请的增量事件:
- (void)onFriendApplicationAdded:(OIMFriendApplication *)item {
[requestStore upsertApplication:item];
}
- (void)onFriendApplicationAccepted:(OIMFriendApplication *)item {
[requestStore upsertApplication:item];
}
- (void)onFriendApplicationRejected:(OIMFriendApplication *)item {
[requestStore upsertApplication:item];
}
- (void)onFriendApplicationDeleted:(OIMFriendApplication *)item {
[requestStore removeFromUserID:item.fromUserID toUserID:item.toUserID];
}这些方法实现于应用唯一、稳定的 OIMFriendshipListener 实例;注册与移除生命周期见分页获取好友列表。按当前用户是否为 toUserID,将记录分流到收到或发出的列表。成功 callback、申请 delegate、好友关系 delegate 和重新查询是不同阶段。
这个页面有帮助吗?