连接流程
应用客户端成功连接到融云服务器后,才能使用融云即时通讯 SDK 的收发消息功能。
融云服务端在收到客户端发起的连接请求后,会根据连接请求里携带的用户身份验证令牌(Token 参数),判断是否允许用户连接。
前置条件
- 通过服务端 API 注册用户(获取 Token)。融云客户端 SDK 不提供获取 Token 方法。应用程序可以调用自身服务端,从融云服务端获取 Token。
- 取得 Token 后,客户端可以按需保存 Token,供后续连接时使用。具体保存位置取决于应用程序客户端设计。如果 Token 未失效,就不必再向融云请求 Token。
- Token 有效期可在控制台进行配置,默认为永久有效。即使重新生成了一个新 Token,未过期的旧 Token 仍然有效。Token 失效后,需要重新获取 Token。如有需要,可以主动调用服务端 API 作废 Token。
- 建议应用程序在连接之前设置连接状态监听。
- SDK 已完成初始化。
提示
请不要在客户端直接调用服务端 API 获取 Token。获取 Token 需要提供应用的 App Key 和 App Secret。客户端如果保存这些凭证,一旦被反编译,会导致应用的 App Key 和 App Secret 泄露。所以,请务必确保在应用服务端获取 Token。
整体连接流程概述
- APP 向 APPServer 请求用户登录。
- APPServer 向融云 IM Server 获取 IM Token
- IMToken 可以设置有效时间
- 如果设置了有效期,那么当 APP 遇到 Token 过期问题时,需要 APP 向 APPServer 请求新 IM Token。
- 如果设置了 IM Token 永久有效,那么 APPServer 可以做 IM Token 缓存,优化登录逻辑的耗时。
- IMToken 可以设置有效时间
- IMServer 返回 Token 给 AppServer。
- APPServer 给 APP 返回 IM Token 以及其他的登录信息,比如业务相关的用户 id,名称,手机号等用户信息。
- APP 调用 IMLib SDK 的
connect接口连接 IM。 - IMLib SDK 向融云 IM Server 请求连接。
- 融云 IM Server 返回连接结果给 IMLib SDK。
- IMLib SDK 返回连接结果给 APP。