tencent cloud

直播 SDK

LoginStore

下载
聚焦模式
字号
最后更新时间: 2026-11-02 17:31:50

简介

LoginStore 提供了一套完整的登录管理 API,包括用户登录、登出、设置个人信息等功能。 通过该类,可以管理用户的登录状态和用户资料。
重要:
使用 shared 单例对象访问 LoginStore 实例。
说明:
登录状态更新通过 loginState 发布者传递。订阅它以接收登录状态的实时更新。

功能特性

用户登录:支持使用 SDK 应用 ID、用户 ID 和用户签名进行登录。
用户登出:支持用户登出操作。
个人信息设置:支持设置用户昵称、头像、性别等个人资料。

可订阅数据

LoginState 的字段描述如下:
属性名
类型
描述
loginStatus
登录状态。
loginUserInfo
登录用户信息。

API 列表

函数名
描述
shared
单例对象。
登录事件流。
login
登录。
logout
登出。
设置个人信息。
设置离线推送证书 ID。

获取实例

shared

单例对象。
static LoginStore get shared => LoginStoreImpl.instance;
版本信息
从3.5版本开始支持。

观察事件

loginEventStream

登录事件流。
数据结构:LoginEvent

登录操作

login

登录。
Future<CompletionHandler> login({
required int sdkAppID,
required String userID,
required String userSig,
});
版本信息
从3.5版本开始支持。
参数说明
参数名
类型
描述
sdkAppID
int
SDK 应用 ID。从 控制台 获取,通常是以 140 或 160 开头的 10 位整数。
userID
String
用户 ID。建议限制长度为32字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。
userSig
String
用户签名。userSig 生成请参考 用户鉴权。

logout

登出。
Future<CompletionHandler> logout();
版本信息
从3.5版本开始支持。

setSelfInfo

设置个人信息。
Future<CompletionHandler> setSelfInfo({required UserProfile userInfo});
版本信息
从3.5版本开始支持。
参数说明
参数名
类型
描述
userProfile
用户资料。

推送配置

setCertificateID

设置离线推送证书 ID。
void setCertificateID(Map<String, String> config);
以 Map<String, String> 形式传入各厂商的推送证书配置,SDK 内部会根据当前设备品牌自动选通道、获取 token 并上报到 IM 后端。 调用时机不限。如果调用时尚未登录,SDK 会暂存配置并在登录成功后自动启动推送注册。 证书 ID 从 IM 控制台 上传推送证书后获取。Map 的 key 使用下表中约定的字符串;未识别的 key 会被忽略,对应 value 缺失时该通道不会被启用。
支持的 key
Key
说明
huaweiCertificateId
华为推送证书 ID。
xiaomiCertificateId
小米推送证书 ID。
xiaomiAppId
小米开放平台 AppId。
xiaomiAppKey
小米开放平台 AppKey。
oppoCertificateId
OPPO 推送证书 ID。
oppoAppKey
OPPO 开放平台 AppKey。
oppoAppSecret
OPPO 开放平台 AppSecret。
vivoCertificateId
vivo 推送证书 ID。
honorCertificateId
荣耀推送证书 ID。
meizuCertificateId
魅族推送证书 ID。
meizuAppId
魅族开放平台 AppId。
meizuAppKey
魅族开放平台 AppKey。
fcmCertificateId
FCM (Firebase) 推送证书 ID。
版本信息
从3.5版本开始支持。
参数说明
参数名
类型
描述
config
Map<String, String>
各厂商推送证书配置。Key 为约定的字符串(详见上方 支持的 key),未识别的 key 会被忽略,对应 value 缺失时该通道不会被启用。

数据结构

LoginStatus

登录状态。
枚举值
说明
unlogin
未登录。
logined
已登录。

AllowType

好友验证方式。
枚举值
值
说明
allowAny
0
允许任何人。
needConfirm
1
需要验证。
denyAny
2
拒绝任何人。

Gender

性别。
枚举值
值
说明
unknown
0
未知。
male
1
男性。
female
2
女性。

LoginEvent

登录事件。
枚举值
说明
kickedOffline
当前用户被踢下线。
loginExpired
登录票据过期。

UserProfile

用户资料。
属性
类型
说明
userID
String
用户 ID。
nickname
String?
昵称。
avatarURL
String?
头像 URL。
selfSignature
String?
个性签名。
gender
Gender?
性别。
role
int?
角色,该字段无业务限制,您可以放心使用任意合法的整数值。
level
int?
等级,该字段无业务限制,您可以放心使用任意合法的整数值。
birthday
int?
生日,该字段无业务限制,您可以放心使用任意合法的整数值。
allowType
好友验证方式。
customInfo
Map<String, String>?
自定义信息。

LoginState

登录状态。
属性
类型
说明
loginStatus
登录状态。
loginUserInfo
登录用户信息。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈