XuqmGroup
3fe411738d
docs(sdk): 更新跨平台SDK设计规范至v1.1版本
...
- 更新版本号至v1.1,状态调整为Android已落地
- 添加私有化与公有平台完全独立的原则说明
- 增加Android配置文件路径规范
- 修改platformUrl为可选参数,默认使用内置公有平台地址
- 添加awaitInitialization和retryInitialization方法
- 调整API响应格式,统一返回data结构
- 优化各子SDK配置流程和错误处理机制
- 更新ImSDK登录逻辑,支持userSig为空时跳过连接
- 添加platformType和platformConfig属性
- 标记login/logout方法为已废弃,合并至setUserInfo
- 修改PushSDK方法签名,将Promise改为void
- 添加PushSDK.currentRegistration和detectVendor方法
- 更新Android Kotlin代码示例和完整示例
- 重构服务端接口要求章节,明确各子SDK独立配置接口
- 更新测试代码,替换login/logout为setUserInfo
- 调整UI组件中的推送设置调用方式
2026-06-15 15:51:58 +08:00
XuqmGroup
5fe859e975
feat(sdk): 将许可证文件替换为初始化配置文件
...
- 将 license.xuqm 文件替换为 config.xuqm 配置文件
- 实现 ConfigFileReader 来读取和解密配置文件
- 添加 ConfigFileCrypto 用于配置文件加密解密
- 更新 autoInitialize 方法以从配置文件自动初始化
- 移除对 sdk-license 的反射依赖
- 在 HarmonySDK 中实现配置端点动态配置
- 更新 iOS SDK 中的配置文件读取逻辑
- 统一各平台配置文件格式和处理方式
2026-06-02 17:15:49 +08:00
XuqmGroup
db3ec3d377
fix: auto-init XuqmSDK via ContentProvider; remove packageName from update check; fix Jenkinsfile
...
- sdk-core: add XuqmInitializerProvider for auto-init at app startup
- sdk-core: register provider in AndroidManifest.xml
- sdk-license: remove duplicate XuqmSDK init from LicenseInitializerProvider
- sdk-update: awaitInitialization() now uses requireInit() directly (no 30s polling)
- Jenkinsfile: replace Windows external commands (findstr/powershell) with Groovy readFile/writeFile
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 04:11:32 +08:00
XuqmGroup
eb27e8f112
feat(sdk-license): client-side package name validation
...
Package name matching is now done entirely in the SDK before any network call:
- License file flow (tryAutoInitialize): compare licenseFile.packageName with
context.packageName; refuse initialization if mismatch
- appKey-only flow (checkLicense): fetch GET /api/license/app-info and compare
configured package names locally before register/verify
- LicenseConfig: add fromLicenseFile flag to distinguish the two flows
- LicenseModels: add AppInfoResponse with matchesPackageName helper
- LicenseApiService: add getAppInfo() endpoint
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 00:30:00 +08:00
XuqmGroup
63da94c670
sdk: auto-init from license file, cross-module init waiting
...
- XuqmSDK: autoInitialize() validates license package name; afterInit() callback
- LicenseSDK: await XuqmSDK init via reflection with timeout before operations
- UpdateSDK: await XuqmSDK init before checkAppUpdate
- LicenseFileReader: return Triple(appKey, serverUrl, packageName)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 17:56:42 +08:00
XuqmGroup
7b18d279bf
build: 各 SDK 模块独立版本,publish.gradle 改用 project.version
...
每个模块通过 SDK_<NAME>_VERSION 属性指定自己的版本,
未设置时回退到全局 PUBLISH_VERSION,保持向后兼容。
发布单个模块示例:
./gradlew :sdk-license:publish -PSDK_LICENSE_VERSION=1.0.3 -PPUBLISH_VERSION=1.0.2
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 16:48:10 +08:00
XuqmGroup
9fd358deef
fix(sdk-license): HTTP 错误不回退缓存,防止已吊销设备认证通过
...
verify 返回 false 后 SDK 会尝试 register,服务端对已吊销设备返回 403。
原 catch 块将 HttpException 与网络错误同等处理,导致 cachedStatus=="ok"
时依然返回 Success。修复:HttpException(4xx/5xx)直接写入 DENIED,
只有真正的网络错误(IOException/超时)才允许离线缓存回退。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 16:41:47 +08:00
XuqmGroup
63797ea1cb
feat(sdk-license): LicenseInitializerProvider 自动完成全量 SDK 初始化
...
ContentProvider 在 Application.onCreate() 之前运行,读取
assets/xuqm/license.xuqm 后直接调用 XuqmSDK.initialize()。
app 端只需放入 license 文件,无需任何初始化代码。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 15:31:52 +08:00
XuqmGroup
84eeecb4cc
feat(sdk): 新增 autoInitialize(),放入 license 文件即可完成全量 SDK 初始化
...
- LicenseFile 新增 serverUrl 字段(私有化部署时由后端写入)
- LicenseSDK 新增 readLicenseFileData() 供 sdk-core 反射调用
- XuqmSDK.autoInitialize(context) 从 assets/xuqm/license.xuqm 读取
appKey 和 serverUrl,一行完成公/私有化 SDK 初始化
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 15:25:22 +08:00
XuqmGroup
e81bf89697
Use appKey in license SDK requests
2026-05-15 21:42:27 +08:00
XuqmGroup
2577d6e3e2
Add license check user info
2026-05-15 21:29:58 +08:00
XuqmGroup
8cf7ebb317
Use auth domain for license SDK
2026-05-15 21:09:32 +08:00
XuqmGroup
cbc8ed56cd
Add Android license SDK
2026-05-15 21:00:24 +08:00