refactor(sdk): 优化 SDK 初始化逻辑和错误处理
- 移除初始化失败原因注释 - 简化授权文件检查逻辑 - 统一错误消息为英文格式 - 优化授权文件路径验证流程 - 改进包名匹配错误提示信息
这个提交包含在:
父节点
4d5111dddc
当前提交
90ef764695
@ -44,23 +44,19 @@ object XuqmSDK {
|
|||||||
*/
|
*/
|
||||||
fun autoInitialize(context: Context, logLevel: LogLevel = LogLevel.WARN) {
|
fun autoInitialize(context: Context, logLevel: LogLevel = LogLevel.WARN) {
|
||||||
val licenseData = readLicenseFileData(context)
|
val licenseData = readLicenseFileData(context)
|
||||||
if (licenseData == null) {
|
?: throw IllegalStateException(
|
||||||
val found = runCatching { context.assets.list("xuqm")?.toList() }.getOrDefault(emptyList())
|
"No license file found in assets/xuqm/. " +
|
||||||
throw IllegalStateException(
|
"Download license.xuqm from the tenant platform and place it in src/main/assets/xuqm/."
|
||||||
"授权文件未找到(assets/xuqm/ 下实际文件:$found)。" +
|
|
||||||
"请将 license.xuqm 放置到 src/<flavor>/assets/xuqm/ 目录。"
|
|
||||||
)
|
)
|
||||||
}
|
|
||||||
val appKey = licenseData.first
|
val appKey = licenseData.first
|
||||||
val serverUrl = licenseData.second
|
val serverUrl = licenseData.second
|
||||||
val licensePackageName = licenseData.third
|
val licensePackageName = licenseData.third
|
||||||
val localPackageName = context.packageName
|
|
||||||
|
|
||||||
|
val localPackageName = context.packageName
|
||||||
if (licensePackageName != null && licensePackageName.isNotBlank() && licensePackageName != localPackageName) {
|
if (licensePackageName != null && licensePackageName.isNotBlank() && licensePackageName != localPackageName) {
|
||||||
throw IllegalStateException(
|
throw IllegalStateException(
|
||||||
"授权文件与当前应用不匹配:" +
|
"License package name mismatch: license=$licensePackageName, local=$localPackageName. " +
|
||||||
"授权包名 '$licensePackageName',当前包名 '$localPackageName'。" +
|
"Please download the correct license file for this app."
|
||||||
"请下载正确版本的授权文件。"
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,6 @@ class XuqmInitializerProvider : ContentProvider() {
|
|||||||
XuqmSDK.autoInitialize(ctx)
|
XuqmSDK.autoInitialize(ctx)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 失败原因已存入 XuqmSDK.getInitError(),由 App 决定如何展示
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
正在加载...
在新工单中引用
屏蔽一个用户