跳到主要内容

login

功能介绍

说明

用户登录,需等待成功回调(而非成功返回)后再调用其他接口。 您需要在以下场景调用 login 接口:
(1)APP 启动后,从服务端重新获取 token后;
(2)登录后 token 过期,从服务端重新获取 token后;
(3)被强制APP管理员下线,从服务端重新获取 token后;
(4)用户主动退出登录,从服务端重新获取 token后。

以下场景无需调用 login 接口:
(1)用户的网络断开并重新连接;
(2)当一个登录过程还未完成。

注意

(1)如出现失败回调,重试是无意义的,查看错误信息、检查参数后调整代码再继续;
(2)在一个 App 中,SDK 不支持多个帐号同时登录,需先调用退出登录,才能登录其他帐号;
(3)除设置监听和初始化以及获取登录状态之外的所有接口,必须在 SDK 登录回调成功后才能调用;
(4)登录回调成功可能不代表IM真的登陆成功,需要观察IM的连接状态回调,收到onConnectSuccess 时才表示登录并且连接IM成功。

相关回调
onConnectFailed
onConnecting
onConnectSuccess
onUserTokenExpired

函数原型

- (void)login:(NSString *)userID
token:(NSString *)token
onSuccess:(nullable OIMSuccessCallback)onSuccess
onFailure:(nullable OIMFailureCallback)onFailure;

输入参数

参数名称参数类型是否必填描述
operationIDNSString操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数
userIDNSStringIM 用户 userID
tokenNSStringOpenIM 用户令牌,业务后台验证用户账号密码后,通过 user_token 来获取

返回结果

参数名称参数类型描述
onSuccessOIMSuccessCallback成功返回
onFailureOIMFailureCallback失败返回

代码示例


[OIMManager.manager login:@"" // userID来自于自身业务服务器
token:@"" // token需要业务服务器向OpenIM服务端交换获取
onSuccess:^(NSString * _Nullable data) {
} onFailure:^(NSInteger code, NSString * _Nullable msg) {
}];