
IM即时通讯
安全可靠、全球互通

实时音视频
流畅稳定、省钱省力
回答:
connect 回调 onTokenIncorrect
可能原因:
1. App Key 和 token 不一致
融云不支持终端直接获取 token,须通过 App Server 向融云 IM Server 请求 token,具体请参见融云即时通讯服务端文档注册用户(获取 Token)。
终端须检查本地设置的 App Key 是否与 App Server 端获取 token 的 App Key 一致。
融云开发者后台,有接口可以检查 token 是否正确,路径为:开发者后台 -> 运营管理 -> 用户管理 ,以下是截图:
2. token 过期。
token 的有效期可以在开发者后台设置。
路径为: 开发者后台 -> 服务管理 -> App Key ,以下是截图:
如果 token 有效期设置的是非永久,您应该在 connect() 回调onError() errorcode 为RC_CONN_TOKEN_INCORRECT (31004) 时,再次去您的服务器获取新的 token, 然后使用新 token 再次 connect(). 参考伪代码:
RongIMClient.connect("用户Token", new RongIMClient.ConnectCallback() { @Override public void onDatabaseOpened(RongIMClient.DatabaseOpenStatus code) { //消息数据库打开,可以进入到主页面 } @Override public void onSuccess(String s) { //连接成功 } @Override public void onError(RongIMClient.ConnectionErrorCode errorCode) { if(errorCode.equals(RongIMClient.ConnectionErrorCode.RC_CONN_TOKEN_INCORRECT)) { //从 APP 服务获取新 token,并重连 (伪代码) AppServer.getUserToken(() --> RongIMClient.connect(newToken)); } else { //无法连接 IM 服务器,请根据相应的错误码作出对应处理 } } })