feat(sdk-update): 服务未开通时返回 serviceActivated=false

- UpdateInfo: 新增 serviceActivated: Boolean = true 字段
- UpdateSDK.checkAppUpdate: 服务端返回 code=40404 时返回 UpdateInfo(serviceActivated=false)
- UpdateInfoDto: 保持仅持有业务字段(无 serviceActivated),由 checkAppUpdate 根据响应 code 注入

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
XuqmGroup 2026-06-17 12:22:24 +08:00
父节点 ba8fc74740
当前提交 5b21a7a52e
共有 2 个文件被更改,包括 8 次插入1 次删除

查看文件

@ -184,7 +184,12 @@ object UpdateSDK {
}
runCatching {
api.checkUpdate(XuqmSDK.appKey, "ANDROID", versionCode, userId).data?.toUpdateInfo()?.let { info ->
val response = api.checkUpdate(XuqmSDK.appKey, "ANDROID", versionCode, userId)
if (response.code == 40404) {
Log.w("UpdateSDK", "checkUpdate: 更新服务未开通 (code=40404) [appKey=${XuqmSDK.appKey}]")
return@withContext UpdateInfo(needsUpdate = false, serviceActivated = false)
}
response.data?.toUpdateInfo()?.let { info ->
val normalized = info.copy(downloadUrl = normalizeDownloadUrl(info.downloadUrl) ?: info.downloadUrl)
val afterIgnore = if (!bypassIgnore && normalized.needsUpdate && !normalized.forceUpdate
&& isVersionIgnored(context, normalized.versionCode)

查看文件

@ -15,4 +15,6 @@ data class UpdateInfo(
val alreadyDownloaded: Boolean = false,
/** APK 文件的 SHA-256 哈希值,用于校验本地文件完整性;服务端未返回时为 null */
val apkHash: String? = null,
/** 更新服务是否已开通;false 表示该 appKey 在平台上尚未配置任何版本,服务未开通 */
val serviceActivated: Boolean = true,
)