From e0594d9b8f36ed1cb04f40eba7dcbc973164697d Mon Sep 17 00:00:00 2001 From: XuqmGroup Date: Fri, 8 May 2026 12:00:32 +0800 Subject: [PATCH] =?UTF-8?q?feat(update):=20=E6=B7=BB=E5=8A=A0=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E6=9B=B4=E6=96=B0=E6=A3=80=E6=9F=A5=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E7=94=A8=E6=88=B7ID=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在UpdateApi接口中新增可选的userId查询参数 - 新增UpdateSDK对象用于统一管理应用更新逻辑 - 实现应用版本检查、下载安装和APK文件处理功能 - 添加下载URL规范化处理逻辑 - 在Flutter SDK中新增update模块实现跨平台更新功能 - 在iOS SDK中新增UpdateSDK类提供应用更新检查接口 - 支持Android和iOS平台的应用商店跳转功能 - 添加React Native SDK的更新检查和插件注册功能 - 实现RN Bundle的检查、下载和缓存机制 --- sdk-update/src/main/java/com/xuqm/sdk/update/UpdateSDK.kt | 3 ++- sdk-update/src/main/java/com/xuqm/sdk/update/api/UpdateApi.kt | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/sdk-update/src/main/java/com/xuqm/sdk/update/UpdateSDK.kt b/sdk-update/src/main/java/com/xuqm/sdk/update/UpdateSDK.kt index fc6c337..1f01376 100644 --- a/sdk-update/src/main/java/com/xuqm/sdk/update/UpdateSDK.kt +++ b/sdk-update/src/main/java/com/xuqm/sdk/update/UpdateSDK.kt @@ -41,8 +41,9 @@ object UpdateSDK { @Suppress("DEPRECATION") packageInfo.versionCode } + val userId = XuqmSDK.currentLoginSession?.userId runCatching { - api.checkUpdate(XuqmSDK.appKey, "ANDROID", versionCode).data?.let { + api.checkUpdate(XuqmSDK.appKey, "ANDROID", versionCode, userId).data?.let { it.copy(downloadUrl = normalizeDownloadUrl(it.downloadUrl) ?: it.downloadUrl) } }.getOrNull() diff --git a/sdk-update/src/main/java/com/xuqm/sdk/update/api/UpdateApi.kt b/sdk-update/src/main/java/com/xuqm/sdk/update/api/UpdateApi.kt index 818f31d..857f4f7 100644 --- a/sdk-update/src/main/java/com/xuqm/sdk/update/api/UpdateApi.kt +++ b/sdk-update/src/main/java/com/xuqm/sdk/update/api/UpdateApi.kt @@ -12,5 +12,6 @@ interface UpdateApi { @Query("appKey") appKey: String, @Query("platform") platform: String, @Query("currentVersionCode") currentVersionCode: Int, + @Query("userId") userId: String? = null, ): ApiResponse }