错误处理
当 Combo SDK 的异步 API 调用失败时,返回的 result 将为空,同时返回一个统一结构的 Error 对象。你可以根据业务需要灵活处理。
ComboSDKError
| Properties | Type | Description |
|---|---|---|
error | String | 错误类型,例如: - NETWORK_ERROR- USER_CANCELLED |
userMessage | String | 面向用户的友好提示,例如: - 未连接到互联网,请检查网络后重试 - 用户取消 |
developerMessage | String | 详细错误信息,例如: - errorMsg = 用户取消,cause = "User cancelled" |
代码示例
- Android
- iOS
Show Code
ComboSDK.login(this) { loginResult, error ->
if (error != null) {
// 在 toast 中展示 error.userMessage 提示用户。
// 如果应用需要在用户取消登录后执行特定逻辑:
when (error.error) {
"USER_CANCELLED" -> {
Log.d("ComboSDK", "User cancelled login")
}
}
return@login
}
loginResult?.let { result ->
Log.d("ComboSDK", """
Login Success:
• Combo ID: ${result.loginInfo.comboId}
• IDP: ${result.loginInfo.idp}
""".trimIndent())
startActivity(Intent(this, MainActivity::class.java))
finish()
}
}
Show Code
[ComboSDK loginWithController:self completionHandler:^(LoginResult * _Nullable result, ComboSDKError * _Nullable error) {
if (error) {
// 向用户展示 error.userMessage。
if ([error.error isEqual: @"USER_CANCELLED"]) {
// TODO: 用户取消登录后的处理逻辑。
}
return;
}
NSLog(@"Login Success:\n Combo ID: %@\n IDP: %@",
result.loginInfo.comboId,
result.loginInfo.idp);
}];