login API (details) to log in.login API are as follows:Parameter | Description | Remarks |
UserID | Unique user ID | It can contain up to 32 bytes of letters (a-z and A-Z), digits (0-9), underscores (_), and hyphens (-). |
UserSig | Login ticket. | It is calculated by your business server to ensure security. For more information on the calculation method, see Generating UserSig. |
login API in the following scenarios:login API returns the error ERR_USER_SIG_EXPIRED (6206) or ERR_SVR_ACCOUNT_USERSIG_EXPIRED (70001), and you need to generate a new userSig and log in again.onUserSigExpired callback (details) when you are online. In this case, you need to generate a new userSig to log in again.onKickedOffline callback (details). In this case, you can prompt the user and call login to log in again.login API in the following scenarios:String userID = "your user id";String userSig = "userSig from your server";V2TimCallback res = await TencentImSDKPlugin.v2TIMManager.login(userID: userID, userSig: userSig);if(res.code == 0){// Logic for successful login}else{// Logic for failed login}
getLoginUser API (details) to get the UserID.
If the login fails, the UserID will be empty.// After successful login,// call `getLoginUser` to get the `UserID`.V2TimValueCallback<String> getLoginUserRes =await TencentImSDKPlugin.v2TIMManager.getLoginUser();if (getLoginUserRes.code == 0) {// Obtained successfullygetLoginUserRes.data; // `getLoginUserRes.data` gets the `UserID` of the login user}
getLoginStatus API (details) to get the login status. If a user is logged in or logging in, don't call the login API frequently. The Chat SDK supports the following login status:Login Status | Description |
V2TIM_STATUS_LOGINED (1) | Logged in |
V2TIM_STATUS_LOGINING (2) | Logging in |
V2TIM_STATUS_LOGOUT (3) | Not logged in |
// After successful login,// call `getLoginStatus` to get the status of the login user.V2TimValueCallback<int> getLoginStatusRes =await TencentImSDKPlugin.v2TIMManager.getLoginStatus();if (getLoginStatusRes.code == 0) {int? status = getLoginStatusRes.data; // `getLoginStatusRes.data` gets the user's login status value.if (status == 1) {// Logged in} else if (status == 2) {// Logging in} else if (status == 3) {// Not logged in}}
login API (details) to log in, if the limit specified by the multi-client login policy for your account is exceeded, a newly logged in instance will kick out an earlier one.logout API (details) to log out of the SDK, after which you will no longer receive new messages. Note that in this case, you also need to call unInitSDK (details) after the logout to uninitialize the SDK.V2TimCallback logoutRes = await TencentImSDKPlugin.v2TIMManager.logout();if(logoutRes.code == 0){}
alice to bob, just log bob in. You don't need to explicitly call logout alice, as this operation will be handled automatically inside the Chat SDK.Feedback