浏览 SDKs · iOS
SDKsiOS

用户概览

了解 OpenIM iOS SDK 中的用户资料、好友关系、黑名单和在线状态。

复制

OpenIM SDK 使用 userID 标识用户。实现资料卡、好友添加、联系人或黑名单功能时,首先要区分应用用户的公开资料、当前用户维护的好友关系,以及黑名单状态。

群成员列表、群内昵称、群角色和成员管理属于群组能力,相关用法见群成员查询

用户类型

OpenIM SDK 会根据使用场景返回不同的用户对象:

类型适用场景主要接口
OIMUserInfo当前登录用户的个人资料、设置页、当前账号头像、昵称和消息接收选项getSelfInfoWithOnSuccess:onFailure:setSelfInfo:onSuccess:onFailure:
OIMPublicUserInfo应用用户查询、添加好友候选人、陌生人资料卡getUsersInfo:onSuccess:onFailure:
OIMFriendInfo当前登录用户的好友列表、好友备注和关系扩展字段getFriendListPageWithOffset:count:filterBlack:...getSpecifiedFriendsInfo:filterBlack:...
OIMBlackInfo当前登录用户拉黑的用户getBlackListWithOnSuccess:onFailure:addToBlackList:ex:onSuccess:onFailure:removeFromBlackList:onSuccess:onFailure:
OIMUserStatusInfo用户在线状态和平台列表subscribeUsersStatus:onSuccess:onFailure:

同一个 userID 可能同时出现在公开资料、好友资料、黑名单和群成员资料中。展示联系人信息时优先使用 OIMFriendInfo;只需要账号公开资料时使用 OIMPublicUserInfo;展示群成员时优先使用 OIMGroupMemberInfo。会话列表和聊天页标题属于会话数据,应使用 OIMConversationInfo.showName

功能入口

下表列出了用户相关的常见需求和对应页面:

需求推荐页面
userID 查询公开资料,用于查找好友候选人或展示资料卡按用户 ID 查询公开资料
分页、搜索或按 ID 查询好友关系分页获取好友列表
发送、查询、同意、拒绝或删除好友申请记录获取收到的好友申请
修改好友资料updateFriends:onSuccess:onFailure:
删除好友关系deleteFriend:onSuccess:onFailure:
查看和维护当前用户黑名单获取黑名单列表
读取或更新当前用户的昵称、头像和扩展资料更新当前用户资料
设置账号级消息接收和免打扰策略设置全局消息接收方式
订阅和读取在线状态订阅用户在线状态
读取群成员列表、成员搜索、指定成员资料群成员查询

状态更新

用户相关事件由对应能力页负责监听和合并:

各页面先查询快照,再由唯一归属页的 delegate 合并增量。