fix(sdk): 修复登录数据处理和账户绑定功能
- 修改Android端登录数据结构,统一使用loginData字段 - 添加JSON异常处理机制,避免解析错误导致崩溃 - 修复Unity端登录数据解析路径,从respObj.result改为loginData - 在账户绑定成功后更新账户信息,添加渠道标识 - 优化链接账户回调处理,支持登录数据的完整传递 - 修复代码格式和字符串拼接问题
This commit is contained in:
@@ -44,6 +44,8 @@ import org.json.JSONObject;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import kotlinx.serialization.json.Json;
|
||||
|
||||
public class SDKManager {
|
||||
|
||||
private final static Handler handler = new Handler(Looper.getMainLooper());
|
||||
@@ -78,9 +80,7 @@ public class SDKManager {
|
||||
if (i == 0) {
|
||||
JSONObject serverResponse = new JSONObject(s);
|
||||
JSONObject userInfo = serverResponse.getJSONObject("result");
|
||||
JSONObject userInfoResult = new JSONObject();
|
||||
userInfoResult.put("result", userInfo);
|
||||
result.put("respObj", userInfoResult);
|
||||
result.put("loginData", userInfo );
|
||||
} else {
|
||||
result.put("errStr", s);
|
||||
}
|
||||
@@ -163,7 +163,7 @@ public class SDKManager {
|
||||
|
||||
private static SnsInfo tmpSnsInfo;
|
||||
public static void LinkAccount(String type, String userId)
|
||||
{
|
||||
{
|
||||
SDKAPI.getIns().getSnsInfo(type, (snscode, snsInfo, snsmsg) ->{
|
||||
if(snscode == SDKCallBack.CODE_SUCCESS && snsInfo !=null)
|
||||
{
|
||||
@@ -171,10 +171,22 @@ public class SDKManager {
|
||||
SDKAPI.getIns().bindBySnsId(snsInfo, userId, (bindcode, bindmsg)->{
|
||||
if(bindcode == SDKCallBack.CODE_SUCCESS)
|
||||
{
|
||||
String msg = "{\"code\":0, \"userId\": 0}";
|
||||
UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.LINKACCOUT_CALLBACK_FUNCTION_NAME, msg);
|
||||
try {
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("code", bindcode);
|
||||
result.put("userId", userId);
|
||||
|
||||
JSONObject serverResponse = new JSONObject(bindmsg);
|
||||
JSONObject userInfo = serverResponse.getJSONObject("result");
|
||||
result.put("loginData", userInfo);
|
||||
UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.LINKACCOUT_CALLBACK_FUNCTION_NAME, result.toString());
|
||||
|
||||
} catch (JSONException e) {
|
||||
String msg = "{\"code\":1, \"userId\": 0}";
|
||||
UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.LINKACCOUT_CALLBACK_FUNCTION_NAME, msg);
|
||||
}
|
||||
}
|
||||
else if(bindcode == 1)
|
||||
else if(bindcode == SDKCallBack.CODE_FAILED)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user