( 最近更新时间:2020-04-28 19:00:00 )
# 功能描述
在应用的整个生命周期,此方法只需要调用一次,之后无论是网络异常或者 App 有前后台的切换,SDK 都会自动重连,直到开发者调用
# 参数说明
输入参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
token | NSString | 是 | 需要您的 Server 调用 融云服务获取 Token |
dbOpenedBlock | Block | - | 本地消息数据库打开的回调 |
successBlock | Block | - | 连接建立成功的回调 |
errorBlock | Block | - | 连接建立失败的回调 |
tokenIncorrectBlock | Block | - | Token 错误或者过期的回调 |
回调参数说明
dbOpenedBlock 说明:
回调参数 | 回调类型 | 说明 |
---|---|---|
code | RCDBErrorCode | 数据库是否已打开 |
successBlock 说明:
回调参数 | 回调类型 | 说明 |
---|---|---|
userId | NSString | 当前连接成功的用户 ID |
errorBlock 说明:
回调参数 | 回调类型 | 说明 |
---|---|---|
status | RCConnectErrorCode (opens new window) | 连接失败的错误码 |
tokenIncorrectBlock 说明
原因 | 排查方案 |
---|---|
token 错误 | 检查客户端初始化使用的 AppKey 和您服务器获取 Token 使用的 AppKey 是否一致 |
token 过期 | 检查开发者是否在 开发者后台 (opens new window) 设置了 Token 过期时间,过期之后需要请求您的服务器重新获取 Token 并再次用新的 Token 建立连接 |
# 代码示例
[[RCIMClient sharedRCIMClient] connectWithToken:@"开发者的 server 通过请求 server api 获取到的 token 值" dbOpened:^(RCDBErrorCode code) {} success:^(NSString *userId) {} error:^(RCConnectErrorCode status) {} tokenIncorrect:^{}];
已复制
1
2
3
4
5
2
3
4
5
- 在
tokenIncorrectBlock
的情况下,您需要请求您的服务器重新获取 Token 并建立连接,但是注意避免无限循环,以免影响 App 用户体验。 - 此方法的回调并非为原调用线程,需要进行 UI 操作,请注意切换到主线程。
- 如果开发者是含 UI 集成,请使用 RCIM 中的同名方法建立与融云服务器的连接,而不要使用此方法。