com.taptap.sdk.login 4.8.3 → 4.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,13 +4,12 @@
4
4
  <repositories>
5
5
  <repository>https://repo.maven.apache.org/maven2</repository>
6
6
  </repositories>
7
- <androidPackage spec="com.taptap.sdk:tap-login-unity:4.8.3"/>
7
+ <androidPackage spec="com.taptap.sdk:tap-login-unity:4.8.4"/>
8
8
  </androidPackages>
9
9
  <iosPods>
10
10
  <sources>
11
11
  <source>https://github.com/CocoaPods/Specs.git</source>
12
12
  </sources>
13
- <iosPod addToAllTargets="false" bitcodeEnabled="false" name="TapTapLoginSDK" version="4.8.3"/>
14
- <iosPod addToAllTargets="false" bitcodeEnabled="false" name="TapTapGidSDK" version="4.8.3"/>
13
+ <iosPod addToAllTargets="false" bitcodeEnabled="false" name="TapTapSDK/Login" version="4.8.4"/>
15
14
  </iosPods>
16
15
  </dependencies>
@@ -78,7 +78,7 @@ namespace TapSDK.Login.Editor
78
78
  "com.taptap.sdk.login",
79
79
  "Login",
80
80
  new[] {"TapTapLoginResource.bundle"},
81
- target, projPath1, proj, "TapTapLoginSDK"))
81
+ target, projPath1, proj))
82
82
  {
83
83
  Debug.Log("TapLogin add Bundle Success!");
84
84
  return;
@@ -3,6 +3,7 @@ using JetBrains.Annotations;
3
3
  using TapSDK.Core;
4
4
  using TapSDK.Login;
5
5
  using UnityEngine;
6
+ using TapSDK.Core.Internal.Log;
6
7
 
7
8
  namespace TapSDK.Login.Mobile.Runtime
8
9
  {
@@ -16,17 +17,119 @@ namespace TapSDK.Login.Mobile.Runtime
16
17
 
17
18
  public AccountWrapper(string json)
18
19
  {
20
+ TapLog.Log("🔧 [AccountWrapper] Constructor called");
21
+ TapLog.Log("🔍 [AccountWrapper] Input JSON: '" + (json ?? "null") + "'");
22
+ TapLog.Log("🔍 [AccountWrapper] Input JSON length: " + (json?.Length ?? 0));
23
+
19
24
  if (string.IsNullOrEmpty(json))
20
25
  {
26
+ TapLog.Log("❌ [AccountWrapper] JSON is null or empty, returning with defaults");
21
27
  return;
22
28
  }
23
- var dict = Json.Deserialize(json) as Dictionary<string, object>;
24
- code = SafeDictionary.GetValue<int>(dict, "code");
25
- message = SafeDictionary.GetValue<string>(dict, "message");
26
- if (dict.ContainsKey("content") && dict["content"] is Dictionary<string, object> accountDict)
29
+
30
+ try
27
31
  {
28
- account = new TapTapAccount(accountDict);
32
+ TapLog.Log("🔧 [AccountWrapper] Deserializing JSON...");
33
+ var dict = Json.Deserialize(json) as Dictionary<string, object>;
34
+ TapLog.Log("🔍 [AccountWrapper] Deserialization result: " + (dict != null ? "Success" : "Failed"));
35
+
36
+ if (dict != null)
37
+ {
38
+ TapLog.Log("🔍 [AccountWrapper] Dictionary keys: [" + string.Join(", ", dict.Keys) + "]");
39
+
40
+ // 提取code
41
+ if (dict.ContainsKey("code"))
42
+ {
43
+ var codeValue = dict["code"];
44
+ TapLog.Log("🔍 [AccountWrapper] Raw code value: " + codeValue + " (type: " + codeValue?.GetType().Name + ")");
45
+ code = SafeDictionary.GetValue<int>(dict, "code");
46
+ TapLog.Log("🔍 [AccountWrapper] Parsed code: " + code);
47
+ }
48
+ else
49
+ {
50
+ TapLog.Log("⚠️ [AccountWrapper] No 'code' key found in dictionary");
51
+ }
52
+
53
+ // 提取message
54
+ if (dict.ContainsKey("message"))
55
+ {
56
+ var messageValue = dict["message"];
57
+ TapLog.Log("🔍 [AccountWrapper] Raw message value: " + messageValue + " (type: " + messageValue?.GetType().Name + ")");
58
+ message = SafeDictionary.GetValue<string>(dict, "message");
59
+ TapLog.Log("🔍 [AccountWrapper] Parsed message: '" + (message ?? "null") + "'");
60
+ }
61
+ else
62
+ {
63
+ TapLog.Log("⚠️ [AccountWrapper] No 'message' key found in dictionary");
64
+ }
65
+
66
+ // 提取content (account data)
67
+ if (dict.ContainsKey("content"))
68
+ {
69
+ var contentValue = dict["content"];
70
+ TapLog.Log("🔍 [AccountWrapper] Raw content value type: " + contentValue?.GetType().Name);
71
+ TapLog.Log("🔍 [AccountWrapper] Content value: " + contentValue);
72
+
73
+ if (contentValue is Dictionary<string, object> accountDict)
74
+ {
75
+ TapLog.Log("✅ [AccountWrapper] Content is Dictionary<string, object>");
76
+ TapLog.Log("🔍 [AccountWrapper] Account dict keys: [" + string.Join(", ", accountDict.Keys) + "]");
77
+
78
+ try
79
+ {
80
+ TapLog.Log("🔧 [AccountWrapper] Creating TapTapAccount...");
81
+ account = new TapTapAccount(accountDict);
82
+ TapLog.Log("✅ [AccountWrapper] TapTapAccount created successfully");
83
+
84
+ if (account != null)
85
+ {
86
+ TapLog.Log("🔍 [AccountWrapper] Account created with:");
87
+ TapLog.Log("🔍 [AccountWrapper] - Name: '" + (account.name ?? "null") + "'");
88
+ TapLog.Log("🔍 [AccountWrapper] - OpenId: '" + (account.openId ?? "null") + "'");
89
+ TapLog.Log("🔍 [AccountWrapper] - UnionId: '" + (account.unionId ?? "null") + "'");
90
+ TapLog.Log("🔍 [AccountWrapper] - Email: '" + (account.email ?? "null") + "'");
91
+ TapLog.Log("🔍 [AccountWrapper] - Avatar: '" + (account.avatar ?? "null") + "'");
92
+ }
93
+ }
94
+ catch (System.Exception ex)
95
+ {
96
+ TapLog.Log("💥 [AccountWrapper] Exception creating TapTapAccount: " + ex.Message);
97
+ TapLog.Log("💥 [AccountWrapper] Stack trace: " + ex.StackTrace);
98
+ }
99
+ }
100
+ else
101
+ {
102
+ TapLog.Log("❌ [AccountWrapper] Content is not Dictionary<string, object>");
103
+ TapLog.Log("🔍 [AccountWrapper] Content actual type: " + (contentValue?.GetType().FullName ?? "null"));
104
+
105
+ // 尝试其他可能的类型
106
+ if (contentValue is string contentStr)
107
+ {
108
+ TapLog.Log("🔍 [AccountWrapper] Content is string: '" + contentStr + "'");
109
+ }
110
+ else if (contentValue is Dictionary<object, object> objDict)
111
+ {
112
+ TapLog.Log("🔍 [AccountWrapper] Content is Dictionary<object, object> with " + objDict.Count + " items");
113
+ }
114
+ }
115
+ }
116
+ else
117
+ {
118
+ TapLog.Log("⚠️ [AccountWrapper] No 'content' key found in dictionary");
119
+ }
120
+ }
121
+ else
122
+ {
123
+ TapLog.Log("❌ [AccountWrapper] Failed to deserialize JSON to dictionary");
124
+ }
29
125
  }
126
+ catch (System.Exception ex)
127
+ {
128
+ TapLog.Log("💥 [AccountWrapper] Exception in constructor: " + ex.Message);
129
+ TapLog.Log("💥 [AccountWrapper] Stack trace: " + ex.StackTrace);
130
+ }
131
+
132
+ TapLog.Log("✅ [AccountWrapper] Constructor completed - code: " + code + ", account: " + (account != null ? "present" : "null"));
30
133
  }
31
134
  }
32
135
  }
@@ -44,18 +44,74 @@ namespace TapSDK.Login.Mobile
44
44
  .CommandBuilder(),
45
45
  result =>
46
46
  {
47
+ TapLog.Log("🔍 [Unity Login] Raw callback result received:");
48
+ TapLog.Log("🔍 [Unity Login] result != null: " + (result != null));
49
+ if (result != null)
50
+ {
51
+ TapLog.Log("🔍 [Unity Login] result.content != null: " + (result.content != null));
52
+ TapLog.Log("🔍 [Unity Login] result.content type: " + (result.content?.GetType().Name ?? "null"));
53
+ TapLog.Log("🔍 [Unity Login] result.content length: " + (result.content?.Length ?? 0));
54
+ TapLog.Log("🔍 [Unity Login] result.content value: '" + (result.content ?? "null") + "'");
55
+
56
+ // 检查是否包含预期的关键字
57
+ if (!string.IsNullOrEmpty(result.content))
58
+ {
59
+ TapLog.Log("🔍 [Unity Login] Contains 'code': " + result.content.Contains("code"));
60
+ TapLog.Log("🔍 [Unity Login] Contains 'content': " + result.content.Contains("content"));
61
+ TapLog.Log("🔍 [Unity Login] Contains 'message': " + result.content.Contains("message"));
62
+ TapLog.Log("🔍 [Unity Login] Contains 'name': " + result.content.Contains("name"));
63
+ TapLog.Log("🔍 [Unity Login] Contains 'openid': " + result.content.Contains("openid"));
64
+ }
65
+ }
66
+
47
67
  TapLog.Log("Login result: " + result.content);
48
- var wrapper = new AccountWrapper(result.content);
49
- if (wrapper.code == 1)
68
+
69
+ if (string.IsNullOrEmpty(result.content))
50
70
  {
51
- tsc.TrySetCanceled();
52
- } else if (wrapper.code == 0)
71
+ TapLog.Log("❌ [Unity Login] ERROR: result.content is null or empty!");
72
+ tsc.TrySetException(new Exception("Login result content is null or empty"));
73
+ return;
74
+ }
75
+
76
+ try
53
77
  {
54
- tsc.TrySetResult(wrapper.account);
78
+ TapLog.Log("🔧 [Unity Login] Creating AccountWrapper...");
79
+ var wrapper = new AccountWrapper(result.content);
80
+ TapLog.Log("✅ [Unity Login] AccountWrapper created successfully");
81
+ TapLog.Log("🔍 [Unity Login] wrapper.code: " + wrapper.code);
82
+ TapLog.Log("🔍 [Unity Login] wrapper.message: '" + (wrapper.message ?? "null") + "'");
83
+ TapLog.Log("🔍 [Unity Login] wrapper.account != null: " + (wrapper.account != null));
84
+
85
+ if (wrapper.account != null)
86
+ {
87
+ TapLog.Log("🔍 [Unity Login] Account details:");
88
+ TapLog.Log("🔍 [Unity Login] - Name: '" + (wrapper.account.name ?? "null") + "'");
89
+ TapLog.Log("🔍 [Unity Login] - OpenId: '" + (wrapper.account.openId ?? "null") + "'");
90
+ TapLog.Log("🔍 [Unity Login] - UnionId: '" + (wrapper.account.unionId ?? "null") + "'");
91
+ TapLog.Log("🔍 [Unity Login] - Email: '" + (wrapper.account.email ?? "null") + "'");
92
+ TapLog.Log("🔍 [Unity Login] - Avatar: '" + (wrapper.account.avatar ?? "null") + "'");
93
+ }
94
+
95
+ if (wrapper.code == 1)
96
+ {
97
+ TapLog.Log("🚫 [Unity Login] Login was canceled (code=1)");
98
+ tsc.TrySetCanceled();
99
+ } else if (wrapper.code == 0)
100
+ {
101
+ TapLog.Log("✅ [Unity Login] Login successful (code=0), setting result");
102
+ tsc.TrySetResult(wrapper.account);
103
+ }
104
+ else
105
+ {
106
+ TapLog.Log("❌ [Unity Login] Login failed with code: " + wrapper.code + ", message: " + wrapper.message);
107
+ tsc.TrySetException(new Exception(wrapper.message));
108
+ }
55
109
  }
56
- else
110
+ catch (System.Exception ex)
57
111
  {
58
- tsc.TrySetException(new Exception(wrapper.message));
112
+ TapLog.Log("💥 [Unity Login] Exception in AccountWrapper processing: " + ex.Message);
113
+ TapLog.Log("💥 [Unity Login] Exception stack trace: " + ex.StackTrace);
114
+ tsc.TrySetException(ex);
59
115
  }
60
116
  });
61
117
  return tsc.Task;
@@ -71,14 +127,48 @@ namespace TapSDK.Login.Mobile
71
127
 
72
128
  public async Task<TapTapAccount> GetCurrentAccount()
73
129
  {
130
+ TapLog.Log("🔍 [Unity Login] GetCurrentAccount called");
131
+
74
132
  Result result = await EngineBridge.GetInstance().Emit(new Command.Builder()
75
133
  .Service(SERVICE_NAME)
76
134
  .Method("getCurrentTapAccount")
77
135
  .Callback(true)
78
136
  .OnceTime(true)
79
137
  .CommandBuilder());
138
+
139
+ TapLog.Log("🔍 [Unity Login] GetCurrentAccount result received:");
140
+ TapLog.Log("🔍 [Unity Login] result != null: " + (result != null));
141
+ if (result != null)
142
+ {
143
+ TapLog.Log("🔍 [Unity Login] result.content != null: " + (result.content != null));
144
+ TapLog.Log("🔍 [Unity Login] result.content type: " + (result.content?.GetType().Name ?? "null"));
145
+ TapLog.Log("🔍 [Unity Login] result.content length: " + (result.content?.Length ?? 0));
146
+
147
+ // 显示前200个字符,避免过长的日志
148
+ if (!string.IsNullOrEmpty(result.content))
149
+ {
150
+ var preview = result.content.Length > 200 ? result.content.Substring(0, 200) + "..." : result.content;
151
+ TapLog.Log("🔍 [Unity Login] result.content preview: '" + preview + "'");
152
+ }
153
+ else
154
+ {
155
+ TapLog.Log("🔍 [Unity Login] result.content is null or empty!");
156
+ }
157
+ }
158
+
80
159
  TapLog.Log("Current account: " + result.content);
81
- return new AccountWrapper(result.content).account;
160
+
161
+ try
162
+ {
163
+ var wrapper = new AccountWrapper(result.content);
164
+ TapLog.Log("🔍 [Unity Login] AccountWrapper created, account: " + (wrapper.account != null ? "present" : "null"));
165
+ return wrapper.account;
166
+ }
167
+ catch (Exception ex)
168
+ {
169
+ TapLog.Log("💥 [Unity Login] Exception in GetCurrentAccount: " + ex.Message);
170
+ return null;
171
+ }
82
172
  }
83
173
  }
84
174
  }
@@ -7,7 +7,7 @@ namespace TapSDK.Login
7
7
  public class TapTapLogin
8
8
  {
9
9
 
10
- public static readonly string Version = "4.8.3";
10
+ public static readonly string Version = "4.8.4";
11
11
 
12
12
  public const string TAP_LOGIN_SCOPE_BASIC_INFO = "basic_info";
13
13
  public const string TAP_LOGIN_SCOPE_PUBLIC_PROFILE = "public_profile";
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "name": "TapSDK.Login.Standalone.Runtime",
3
- "rootNamespace": "",
4
3
  "references": [
5
4
  "GUID:e8754b6153389406c963cd52996cc80f",
6
5
  "GUID:7d5ef2062f3704e1ab74aac0e4d5a1a7",
@@ -8,7 +7,6 @@
8
7
  ],
9
8
  "includePlatforms": [
10
9
  "Editor",
11
- "LinuxStandalone64",
12
10
  "macOSStandalone",
13
11
  "WindowsStandalone32",
14
12
  "WindowsStandalone64"
package/package.json CHANGED
@@ -2,10 +2,10 @@
2
2
  "name": "com.taptap.sdk.login",
3
3
  "displayName": "TapTapSDK Login",
4
4
  "description": "TapTapSDK Login",
5
- "version": "4.8.3",
5
+ "version": "4.8.4",
6
6
  "unity": "2019.4",
7
7
  "license": "MIT",
8
8
  "dependencies": {
9
- "com.taptap.sdk.core": "4.8.3"
9
+ "com.taptap.sdk.core": "4.8.4"
10
10
  }
11
11
  }
package/link.xml DELETED
@@ -1,4 +0,0 @@
1
- <linker>
2
- <assembly fullname="TapSDK.Login.Runtime" preserve="all" />
3
- <assembly fullname="TapSDK.Login.Mobile.Runtime" preserve="all" />
4
- </linker>
package/link.xml.meta DELETED
@@ -1,7 +0,0 @@
1
- fileFormatVersion: 2
2
- guid: 3ef73b7c3a65b498db2a9b989fe5cdbd
3
- TextScriptImporter:
4
- externalObjects: {}
5
- userData:
6
- assetBundleName:
7
- assetBundleVariant: