连接
应用客户端成功连接到融云服务器后,才能使用融云即时通讯 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。
连接聊天服务器
请根据应用的业务需求与设计,自行决定合适的时机向融云聊天服务器发起连接请求。
请注意以事项:
- 必须在 SDK 初始化之后,调用
connect()
方法进行连接。 - SDK 本身有重连机制,无需手动多次调用连接。
- 应用调用了断开连接相关方法后,SDK 不再进行重连。
在页面加载完成后,使用 connect
方法建立连接。调用此接口后,SDK 的重连机制将立即开始生效,并接管所有的重连处理。SDK 会不停重连直到连接成功为止,不需要您做额外的连接操作。应用主动断开连接,将退出重连机制。
提示
特别提醒:connect 方法需要等待页面加载完成后进行调用。
从 5.6.1 版本开始,废弃 IMKit 的 connect
方法。请参考下方示例,使用 IMLib SDK 提供的 connect
方法。
// 请替换真实 Token
RongIMLib.connect('当前用户 TOKEN').then((res) => {
console.info('连接结果打印:', res);
// 加载会话列表 CoreEvent 可通过 import { CoreEvent } from '@rongcloud/imkit' 获取
imkit.emit(CoreEvent.CONVERSATION, true);
})