fix(sdk-update): awaitInitialization 同时等待远程平台配置完成
确保 bugCollectEnabled 等远程配置字段在 checkAppUpdate 执行前已生效, 避免 captureError 因 isReady()=false 静默丢弃异常。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
父节点
12bff04e0e
当前提交
a36097fcdb
@ -213,16 +213,21 @@ object UpdateSDK {
|
||||
}
|
||||
|
||||
private suspend fun awaitInitialization() {
|
||||
if (XuqmSDK.isInitialized()) return
|
||||
Log.w("UpdateSDK", "XuqmSDK not yet initialized, waiting up to 15s...")
|
||||
kotlinx.coroutines.withTimeoutOrNull(15_000L) {
|
||||
while (!XuqmSDK.isInitialized()) {
|
||||
kotlinx.coroutines.delay(100)
|
||||
if (!XuqmSDK.isInitialized()) {
|
||||
Log.w("UpdateSDK", "XuqmSDK not yet initialized, waiting up to 15s...")
|
||||
kotlinx.coroutines.withTimeoutOrNull(15_000L) {
|
||||
while (!XuqmSDK.isInitialized()) {
|
||||
kotlinx.coroutines.delay(100)
|
||||
}
|
||||
} ?: run {
|
||||
val msg = "XuqmSDK init timeout (15s). Check that config.xuqm is present and package name matches."
|
||||
Log.e("UpdateSDK", msg)
|
||||
throw IllegalStateException(msg)
|
||||
}
|
||||
} ?: run {
|
||||
val msg = "XuqmSDK init timeout (15s). Check that config.xuqm is present and package name matches."
|
||||
Log.e("UpdateSDK", msg)
|
||||
throw IllegalStateException(msg)
|
||||
}
|
||||
// 等待远程平台配置拉取完成(bugCollectEnabled 等字段在此之后才生效)
|
||||
kotlinx.coroutines.withTimeoutOrNull(10_000L) {
|
||||
runCatching { XuqmSDK.awaitInitialization() }
|
||||
}
|
||||
Log.d("UpdateSDK", "XuqmSDK initialized, proceeding with update check")
|
||||
}
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户