简介
LoginStore 提供了一套完整的登录管理 API,包括用户登录、登出、设置个人信息等功能。 通过该类,可以管理用户的登录状态和用户资料。重要:
使用 LoginStore.shared 单例对象访问
LoginStore 实例。说明:
登录状态更新通过 loginState 发布者传递。订阅它以接收登录状态的实时更新。
功能特性
用户登录:支持使用 SDK 应用 ID、用户 ID 和用户签名进行登录。
用户登出:支持用户登出操作。
个人信息设置:支持设置用户昵称、头像、性别等个人资料。
可订阅数据
LoginState 的字段描述如下:
属性名 | 类型 | 描述 |
loginStatus | 登录状态。 | |
loginUserInfo | 登录用户信息。 |
API 列表
函数名 | 描述 |
单例对象。 | |
登录事件监听器。 | |
登录事件监听器。 | |
登录。 | |
登出。 | |
设置个人信息。 | |
设置离线推送证书 ID。 |
获取实例
LoginStore.shared
单例对象。
观察事件
addLoginListener
添加登录监听器。
abstract fun addLoginListener(listener: LoginListener)
建议在调用 login 之前添加监听器,以便能够及时接收登录相关事件。
版本信息
从3.5版本开始支持。
参数说明
参数名 | 类型 | 描述 |
listener | 登录监听器。 |
removeLoginListener
移除登录监听器。
abstract fun removeLoginListener(listener: LoginListener)
版本信息
从3.5版本开始支持。
参数说明
参数名 | 类型 | 描述 |
listener | 登录监听器。 |
登录操作
login
登录。
abstract fun login(context: Context,sdkAppID: Int,userID: String,userSig: String,completion: CompletionHandler? = null)
版本信息
从3.5版本开始支持。
参数说明
参数名 | 类型 | 描述 |
context | Context | 上下文。 |
sdkAppID | Int | |
userID | String | 用户 ID。建议限制长度为32字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。 |
userSig | String | |
completion | 完成回调。 |
logout
登出。
abstract fun logout(completion: CompletionHandler? = null)
版本信息
从3.5版本开始支持。
参数说明
参数名 | 类型 | 描述 |
completion | 完成回调。 |
setSelfInfo
设置个人信息。
abstract fun setSelfInfo(userProfile: UserProfile,completion: CompletionHandler? = null)
版本信息
从3.5版本开始支持。
参数说明
参数名 | 类型 | 描述 |
userProfile | 用户资料。 | |
completion | 完成回调。 |
推送配置
setCertificateID
设置离线推送证书 ID。
abstract fun setCertificateID(config: Map<String, String>)
以
Map<String, String> 形式传入各厂商的推送证书配置,SDK 内部会根据当前设备品牌自动选通道、获取 token 并上报到 IM 后端。 调用时机不限,建议在 Application.onCreate 中调用。如果调用时尚未登录,SDK 会暂存配置并在登录成功后自动启动推送注册。 证书 ID 从 IM 控制台(https://console.cloud.tencent.com/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
好友验证方式。
枚举值 | 值 | 说明 |
ALLOW_ANY | 0 | 允许任何人。 |
NEED_CONFIRM | 1 | 需要验证。 |
DENY_ANY | 2 | 拒绝任何人。 |
Gender
性别。
枚举值 | 值 | 说明 |
UNKNOWN | 0 | 未知。 |
MALE | 1 | 男性。 |
FEMALE | 2 | 女性。 |
LoginListener
登录事件。
方法
方法名 | 说明 |
onKickedOffline | 当前用户被踢下线。 |
onLoginExpired | 登录票据过期。 |
UserProfile
用户资料。
LoginState
登录状态。
属性 | 类型 | 说明 |
loginStatus | 登录状态。 | |
loginUserInfo | 登录用户信息。 |