login
功能介绍
用户登录
首次登录一个 IM 帐号时,不需要先注册这个帐号。在登录成功后,IM 自动完成这个帐号的注册。
您需要在以下场景调用 login 接口:
App 启动后首次使用 IM SDK 的功能。
登录时票据过期:login 接口的回调会返回 ERR_USER_SIG_EXPIRED(6206) 或 ERR_SVR_ACCOUNT_USERSIG_EXPIRED(70001) 错误码,此时请您生成新的 userSig 重新登录。
在线时票据过期:用户在线期间也可能收到 V2TimSDKListener中的 onUserSigExpired 回调,此时需要您生成新的 userSig 并重新登录。
在线时被踢下线:用户在线情况下被踢,IM SDK 会通过 V2TimSDKListener中的 onKickedOffline 回调通知给您,此时可以在 UI 提示用户,并调用 login 重新登录。
以下场景无需调用 login 接口:
用户的网络断开并重新连接后,不需要调用 login 函数,IM SDK 会自动上线。
当一个登录过程在进行时,不需要进行重复登录。
调用 IM SDK 接口成功登录后,将会开始计算 DAU,请根据业务场景合理调用登录接口,避免出现 DAU 过高的情况。
在一个 App 中,IM SDK 不支持多个帐号同时在线,如果同时登录多个帐号,只有最后登录的帐号在线。
只有获取会话的接口可以在调用登录接口后立即调用。其他各项功能的接口,必须在 SDK 登录成功后才能调用。因此在使用其他功能之前,请务必登录且确保登录成功,否则可能导致功能异常或不可用!
参数详解
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
userID | string | 是 | 登录用户唯一标识 |
userSig | string | 是 | 登录票据,计算方法请参考 UserSig 后台 API。 |
返回模板
V2TimCallback
{
code : number
desc : string
}
返回值详解
名称 | 数值类型 | 描述 |
---|---|---|
code | number | 请求结果错误码 |
desc | string | 请求结果描述符 |
代码示例
import { TencentImSDKPlugin } from 'react-native-tim-js';
const userID = 'your user id'; // 用户设置的userID
const userSig = 'userSig from your server'; // 用户计算出的userSig
const loginRes = await TencentImSDKPlugin.v2TIMManager.login(userID, userSig);
if (loginRes.code === 0) {
// 登录成功逻辑
} else {
// 登录失败逻辑
}