diff --git a/sdk-intergration/Packages/tysdk/Plugins/Android/SDKManager.java b/sdk-intergration/Packages/tysdk/Plugins/Android/SDKManager.java index 6a4b3ae..c825add 100644 --- a/sdk-intergration/Packages/tysdk/Plugins/Android/SDKManager.java +++ b/sdk-intergration/Packages/tysdk/Plugins/Android/SDKManager.java @@ -89,7 +89,7 @@ public class SDKManager { } catch (Exception e) { Log.e(TAG,"SDKManager-parseLoginInfo-Exception" + e); SDKLog.e("SDKManager-parseLoginInfo-Exception" + e); - UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.LOGIN_CALLBACK_FUNCTION_NAME, "{\"code\":1}}"); + UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.LOGIN_CALLBACK_FUNCTION_NAME, "{\"code\":1}"); } } @@ -117,7 +117,7 @@ public class SDKManager { } catch (Exception e) { Log.e(TAG,"SDKManager-SDKCallBack.Pay-Exception" + e); SDKLog.e("SDKManager-SDKCallBack.Pay-Exception" + e); - UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.PAY_CALLBACK_FUNCTION_NAME, "{\"code\":1}}"); + UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.PAY_CALLBACK_FUNCTION_NAME, "{\"code\":1}"); } } }; @@ -132,16 +132,18 @@ public class SDKManager { handler.post(() -> SDKAPI.getIns().loginByToken(token, mLogin)); } - public static void UnityLoginBySnsInfo() + public static String UnityLoginBySnsInfo() { if(tmpSnsInfo == null) { - UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.LOGIN_CALLBACK_FUNCTION_NAME, "{\"code\":1}}"); - return; + handler.post(() -> UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.LOGIN_CALLBACK_FUNCTION_NAME, "{\"code\":1}")); + return ""; } SDKLog.i("UnityLoginBySns : " + tmpSnsInfo); handler.post(() -> SDKAPI.getIns().loginBySnsInfo(tmpSnsInfo, mLogin)); + return tmpSnsInfo.type; + } public static void UnityGetIdentityFun(String type) { @@ -309,7 +311,7 @@ public class SDKManager { UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.PAY_TYPE_CALLBACK_FUNCTION_NAME, result.toString()); } catch (Exception e) { SDKLog.e("SDKManager-UnityGetKnowTypeList-Exception" + e); - UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.PAY_TYPE_CALLBACK_FUNCTION_NAME, "{\"code\":1}}"); + UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.PAY_TYPE_CALLBACK_FUNCTION_NAME, "{\"code\":1}"); } } }); @@ -362,7 +364,7 @@ public class SDKManager { UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.PAY_TYPE_CALLBACK_FUNCTION_NAME, result.toString()); } catch (Exception e) { SDKLog.e("SDKManager-UnityGetKnowTypeList-Exception" + e); - UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.PAY_TYPE_CALLBACK_FUNCTION_NAME, "{\"code\":1}}"); + UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.PAY_TYPE_CALLBACK_FUNCTION_NAME, "{\"code\":1}"); } } }); diff --git a/sdk-intergration/Packages/tysdk/Runtime/TYSdkFacade.cs b/sdk-intergration/Packages/tysdk/Runtime/TYSdkFacade.cs index 3dda4e8..9a30784 100644 --- a/sdk-intergration/Packages/tysdk/Runtime/TYSdkFacade.cs +++ b/sdk-intergration/Packages/tysdk/Runtime/TYSdkFacade.cs @@ -153,26 +153,24 @@ namespace tysdk public async Task Login(EAccoutType accoutType) { -// #if UNITY_EDITOR -// await Task.Yield(); -// var deviceId = UnityEngine.Device.SystemInfo.deviceUniqueIdentifier.Split('-')[0].Substring(0, 8); -// -// var userId = (int)ulong.Parse(deviceId, System.Globalization.NumberStyles.HexNumber); -// -// _accountInfo = new AccountInfo() -// { -// userId = userId, -// }; -// -// return new LoginInfo() -// { -// isSuccess = true, -// userId = userId -// }; -// -// #elif UNITY_ANDROID || UNITY_IOS +#if UNITY_EDITOR + await Task.Yield(); + var deviceId = UnityEngine.Device.SystemInfo.deviceUniqueIdentifier.Split('-')[0].Substring(0, 8); + var userId = (int)ulong.Parse(deviceId, System.Globalization.NumberStyles.HexNumber); + _accountInfo = new AccountInfo() + { + userId = userId, + }; + + return new LoginInfo() + { + isSuccess = true, + userId = userId + }; + +#elif UNITY_ANDROID || UNITY_IOS var task = TYSDKCallbackManager.Instance.RegisterCallback(TimeSpan.FromSeconds(30)); UnityBridgeFunc.UnityLogin(accoutType); @@ -193,7 +191,7 @@ namespace tysdk Debug.LogWarning($"[TYSdkFacade] Login failed: {e}"); return new LoginInfo(){isSuccess = false}; } -// #endif +#endif } public async Task LoginByToken() @@ -223,18 +221,23 @@ namespace tysdk public async Task LoginBySns() { - var accoutInfo = AccountInfo.GetSavedAccoutInfo(); - if (accoutInfo == null) return new LoginInfo(); + var accountInfo = AccountInfo.GetSavedAccoutInfo(); + if (accountInfo == null) return new LoginInfo(); var task = TYSDKCallbackManager.Instance.RegisterCallback(TimeSpan.FromSeconds(30)); - UnityBridgeFunc.UnityLoginByTokenFun(accoutInfo.token); + var snsType = UnityBridgeFunc.UnityLoginBySnsInfoFun(); try { var loginInfo = await task; if (loginInfo.isSuccess) { + if (Enum.TryParse(snsType, out var accountType)) + { + _accountInfo.channel = accountType; + } + _accountInfo.AddLinkedAccount(accountType); _accountInfo.Save(); } return loginInfo; diff --git a/sdk-intergration/Packages/tysdk/Runtime/UnityBridgeFunc.cs b/sdk-intergration/Packages/tysdk/Runtime/UnityBridgeFunc.cs index 138cd9c..f28ddc4 100644 --- a/sdk-intergration/Packages/tysdk/Runtime/UnityBridgeFunc.cs +++ b/sdk-intergration/Packages/tysdk/Runtime/UnityBridgeFunc.cs @@ -18,7 +18,7 @@ namespace tysdk //登录 public static void UnityLoginByTokenFun(string token){} - public static void UnityLoginBySnsInfoFun() { } + public static string UnityLoginBySnsInfoFun() => null; public static void UnityLogin(EAccoutType accoutType){} public static void LinkAccount(EAccoutType accoutType){} @@ -58,6 +58,7 @@ namespace tysdk public static void FBShareLink(string title, string content, string url) { } public static void MessengerShareLink(string title, string content, string url) { } + #elif UNITY_ANDROID @@ -92,11 +93,11 @@ namespace tysdk } } - public static void UnityLoginBySnsInfoFun() + public static String UnityLoginBySnsInfoFun() { using(var sdkManager = new AndroidJavaClass(SDK_CLASS)) { - sdkManager.CallStatic("UnityLoginBySnsInfo"); + return sdkManager.CallStatic("UnityLoginBySnsInfo"); } }