fix(sdk-update): 40404 改为抛 IllegalStateException,走 onFailure 异常上报路径

移除 serviceActivated 字段,服务未开通统一作为异常处理,
调用方通过 onFailure 捕获并上报(如 BugCollect.captureError)。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
XuqmGroup 2026-06-17 13:07:54 +08:00
父节点 c4fcac1da8
当前提交 16d8354064
共有 2 个文件被更改,包括 1 次插入4 次删除

查看文件

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

查看文件

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