用户概述
App 用户需要接入融云服务,才能使用即时通讯服务。对于融云来说,用户是指持有由融云分发的有效 Token,接入并使用即时通讯服务的 App 用户。
注册用户
应用服务端(App Server)应向融云服务端提供 App 用户的用户 ID(userId
),以向融云换取唯一用户 Token。对融云来说,这个以 userId
获取 Token 的步骤即注册用户,且必须通过调用 Server API 来完成。
应用客户端必须持有有效 Token,才能成功连接到融云服务端,使用融云即时通讯服务。当 App 客户端用户向服务器发送登录请求时,服务器会查询数据库以检查连接请求是否匹配。
注册用户数限制
删除用户
删除用户是指在应用的开发环境中,通过控制台删除已注册的测试用户,以控制开发环境中的测试用户总数。生产环境不支持该操作。
注销用户
注销用户是指在融云服务中删除用户数据。App 可使用该能力实现自身的用户销户功能,满足 App 上架或合规要求。
融云返回注销成功结果后,与用户 ID 相关数据即被删除。您可以向融云查询所有已注销用户的 ID。如有需要,您可以重新激活已被注销的用户 ID(注意,用户个人数据无法被恢复)。
仅 IM Server API 提供上述能力。
用户信息
用户信息泛指用户的昵称、头像,以及群组的群昵称、群头像等数据。融云默认不存储和维护您应用的用户信息数据,需要在应用侧自行维护用户数据。如果您需要将应用下用户的资料信息存储在融云,可开启并使用融云的信息托管服务,将用户的资料信息存储到融云进行托管维护。
好友关系
默认融云即时通讯服务不会同步或保存 App 端的好友关系数据,需要由应用服务器(App Server)自行维护。如果您需要使用融云的好友关系管理服务,可开启融云的信息托管服务,开启后可通过融云提供的好友关系管理服务,进行用户的好友关系管理。
在未使用融云好友关系管理服务情况下,如果需要对客户端用户之间的消息收发行为进行限制(例如,App 的所有 userId
泄漏,导致某个恶意用户可越过好友关系向任意用户发送消息),可以考虑使用用户白名单服务。用户一旦开启并设置白名单,则仅可接收来自该白名单中用户的消息。
如使用融云提供的好友关系管理服务,默认非好友间也可以正常发送消息,如需要限制为仅好友可以发送消息,可以在融云控制台(应用配置>IM 服务>信息托管服务>功能设置>好友功能配置)中开启仅好友可以相互发送单聊消息功能。
用户管理接口
功能分类 | 功能描述 | 客户端 API | 服务端 API |
---|---|---|---|
注册用户 | 使用 App 用户的用户 ID 向融云换取 Token。 | 不提供该 API | 注册用户 |
删除用户 | 参见上文删除用户。 | 不提供该 API | 不提供该 API |
废弃 Token | 废弃在特定时间点之前获取的 Token。 | 不提供该 API | 作废 Token |
注销用户 | 注销用户是指在融云服务中停用用户 ID,并删除用户个人数据。 | 不提供该 API | 注销用户 |
查询已注销用户 | 获取已注销的用户 ID 列表。 | 不提供该 API | 查询已注销用户 |
重新激活用户 ID | 在融云服务中重新启用已注销用户的 ID。 | 不提供该 API | 重新激活用户 ID |
设置客户端本地的用户信息 | 设置用户信息提供者,由应用层负责提供数据。 | 设置用户信息提供者 | 不提供该 API |
设置融云服务端的用户信息 | 设置在融云推送服务中使用的用户名称与头像。 | 不提供该 API | 未提供单独的设置接口。在注册用户时必须提供用户信息。 |
获取客户端本地的用户信息 | 获取在会话页面、好友列表等处显示的用户头像、昵称等信息。 | 获取用户信息 | 不提供该 API |
获取融云服务端的用户信息 | 获取用户在融云注册的信息,包括用户创建时间和服务端的推送服务使用的用户名称、头像 URL。 | 不提供该 API | 获取信息 |
修改客户端本地的用户信息 | 修改在客户端本地数据库中保存的用户昵称、头像等信息。 | 刷新用户信息 | 不提供该 API |
修改融云服务端的用户信息 | 修改在融云推送服务中使用的用户名称与头像。 | 不提供该 API | 修改信息 |
封禁用户 | 禁止用户连接到融云即时通讯服务,并立即断开连接。可按时长解封或主动解封。查询被封禁用户的用户 ID、封禁结束时间。 | 不提供该 API | 添加封禁用户、解除封禁用户、查询封禁用户 |
查询用户在线状态 | 查询某用户的在线状态。 | 不提供该 API | 查询在线状态 |
黑名单管理 | 在用户的黑名单列表中添加、移除用户。在 A 用户黑名单的用户无法向 A 发送消息。IMKit 默认已处理被拉黑后的错误,页面会提示 “您的消息已经发出,但被对方拒收”。 IMKit 未提供该 API 接口。此处客户端 API 为 IMLib 的 API 接口。 | 加入黑名单、移出黑名单、查询用户是否在黑名单中、获取黑名单列表 | 加入黑名单、移出黑名单、查询黑名单 |
用户白名单 | 用户一旦开启并设置白名单,则仅可接收来自该白名单中用户的消息。 | 不提供该 API | 开启用户白名单、用户白名单状态查询、添加白名单、移出白名单、查询白名单 |