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>
这个提交包含在:
父节点
ba8fc74740
当前提交
5b21a7a52e
@ -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,
|
||||
)
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户