From ae9d033c852cfad6b6fcabcea8c62a7982733a22 Mon Sep 17 00:00:00 2001 From: XuqmGroup Date: Sat, 13 Jun 2026 16:43:18 +0800 Subject: [PATCH] feat: add setUserInfo/clearUserInfo to XuqmCoreSDK, align with Android API Co-Authored-By: Claude --- Sources/XuqmCoreSDK/XuqmSDK.swift | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Sources/XuqmCoreSDK/XuqmSDK.swift b/Sources/XuqmCoreSDK/XuqmSDK.swift index 46db37c..444000f 100644 --- a/Sources/XuqmCoreSDK/XuqmSDK.swift +++ b/Sources/XuqmCoreSDK/XuqmSDK.swift @@ -48,6 +48,8 @@ public final class XuqmSDK: NSObject { public private(set) var tokenStore: TokenStore? public private(set) var currentUserId: String? + public private(set) var currentNickname: String? + public private(set) var currentAvatar: String? private var userSig: String? public private(set) var cachedDeviceToken: String? @@ -155,6 +157,25 @@ public final class XuqmSDK: NSObject { cachedDeviceToken = nil } + /// 设置用户信息(登录后调用) + /// 用于灰度发布、精准推送等场景 + /// - Parameters: + /// - userId: 用户唯一标识 + /// - nickname: 用户昵称(可选) + /// - avatar: 用户头像 URL(可选) + public func setUserInfo(userId: String, nickname: String? = nil, avatar: String? = nil) { + self.currentUserId = userId + self.currentNickname = nickname + self.currentAvatar = avatar + } + + /// 清除用户信息(登出时调用) + public func clearUserInfo() { + self.currentUserId = nil + self.currentNickname = nil + self.currentAvatar = nil + } + public func registerDeviceToken(_ deviceToken: Data) { let token = deviceToken.map { String(format: "%02x", $0) }.joined() self.cachedDeviceToken = token