com.taptap.sdk.login 4.5.1 → 4.5.3

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,14 +4,13 @@
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.5.1"/>
7
+ <androidPackage spec="com.taptap.sdk:tap-login-unity:4.5.3"/>
8
8
  </androidPackages>
9
9
  <iosPods>
10
10
  <sources>
11
11
  <source>https://github.com/CocoaPods/Specs.git</source>
12
12
  </sources>
13
- <iosPod name="Kingfisher" version="~> 6.0" bitcodeEnabled="false" addToAllTargets="false"/>
14
- <iosPod name="TapTapLoginSDK" version="~> 4.5.1" bitcodeEnabled="false" addToAllTargets="false"/>
15
- <iosPod name="TapTapGidSDK" version="~> 4.5.1" bitcodeEnabled="false" addToAllTargets="false"/>
13
+ <iosPod name="TapTapLoginSDK" version="~> 4.5.3" bitcodeEnabled="false" addToAllTargets="false"/>
14
+ <iosPod name="TapTapGidSDK" version="~> 4.5.3" bitcodeEnabled="false" addToAllTargets="false"/>
16
15
  </iosPods>
17
16
  </dependencies>
@@ -7,7 +7,7 @@ namespace TapSDK.Login
7
7
  public class TapTapLogin
8
8
  {
9
9
 
10
- public static readonly string Version = "4.5.1";
10
+ public static readonly string Version = "4.5.3";
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";
@@ -16,6 +16,9 @@ namespace TapSDK.Login.Internal
16
16
  {
17
17
  private static TapLoginStandaloneImpl instance;
18
18
 
19
+ // 当前是否正在登录中
20
+ private volatile bool IsLogging = false;
21
+
19
22
  private TapLoginStandaloneImpl()
20
23
  {
21
24
 
@@ -43,6 +46,13 @@ namespace TapSDK.Login.Internal
43
46
 
44
47
  public Task<TapTapAccount> Login(string[] scopes)
45
48
  {
49
+ // 正在登录时,返回登录异常
50
+ if(IsLogging){
51
+ var defaultTcs = new TaskCompletionSource<TapTapAccount>();
52
+ defaultTcs.TrySetException(new TapException((int) TapErrorCode.ERROR_CODE_LOGOUT_INVALID_LOGIN_STATE, "Currently logging in"));
53
+ return defaultTcs.Task;
54
+ }
55
+ IsLogging = true;
46
56
  string sessionId = Guid.NewGuid().ToString();
47
57
  TapLoginTracker.Instance.TrackStart("loginWithScopes", sessionId);
48
58
 
@@ -52,7 +62,7 @@ namespace TapSDK.Login.Internal
52
62
  }
53
63
  IComplianceProvider provider = BridgeUtils.CreateBridgeImplementation(typeof(IComplianceProvider),
54
64
  "TapSDK.Compliance") as IComplianceProvider;
55
- String complianceScope = provider?.GetAgeRangeScope();
65
+ string complianceScope = provider?.GetAgeRangeScope(TapTapSdk.CurrentRegion is RegionCN _);
56
66
  if (complianceScope != null)
57
67
  {
58
68
  scopes = scopes.Append(complianceScope).ToArray();
@@ -64,6 +74,7 @@ namespace TapSDK.Login.Internal
64
74
  OnAuth = async (tokenData, loginType) => {
65
75
  if (tokenData == null) {
66
76
  TapLoginTracker.Instance.TrackFailure("loginWithScopes", sessionId, loginType, (int) TapErrorCode.ERROR_CODE_UNDEFINED, "UnKnow Error");
77
+ IsLogging = false;
67
78
  tcs.TrySetException(new TapException((int) TapErrorCode.ERROR_CODE_UNDEFINED, "UnKnow Error"));
68
79
  } else {
69
80
  // 将 TokenData 转化为 AccessToken
@@ -74,28 +85,38 @@ namespace TapSDK.Login.Internal
74
85
  macAlgorithm = tokenData.MacAlgorithm,
75
86
  scopeSet = tokenData.Scopes
76
87
  };
77
- ProfileData profileData = await LoginService.GetProfile(TapTapSdk.ClientId, refreshToken);
78
- if (profileData != null)
79
- {
80
- TapLoginTracker.Instance.TrackSuccess("loginWithScopes", sessionId, loginType);
81
- AccountManager.Instance.Account = new TapTapAccount(
82
- refreshToken, profileData.OpenId, profileData.UnionId, profileData.Name, profileData.Avatar,
83
- profileData.Email);
84
- tcs.TrySetResult(AccountManager.Instance.Account);
85
- }
86
- else
87
- {
88
+ try{
89
+ ProfileData profileData = await LoginService.GetProfile(TapTapSdk.ClientId, refreshToken);
90
+ if (profileData != null)
91
+ {
92
+ TapLoginTracker.Instance.TrackSuccess("loginWithScopes", sessionId, loginType);
93
+ AccountManager.Instance.Account = new TapTapAccount(
94
+ refreshToken, profileData.OpenId, profileData.UnionId, profileData.Name, profileData.Avatar,
95
+ profileData.Email);
96
+ IsLogging = false;
97
+ tcs.TrySetResult(AccountManager.Instance.Account);
98
+ }
99
+ else
100
+ {
101
+ TapLoginTracker.Instance.TrackFailure("loginWithScopes", sessionId, loginType, (int) TapErrorCode.ERROR_CODE_UNDEFINED, "UnKnow Error");
102
+ IsLogging = false;
103
+ tcs.TrySetException(new TapException((int) TapErrorCode.ERROR_CODE_UNDEFINED, "UnKnow Error"));
104
+ }
105
+ } catch(Exception e) {
88
106
  TapLoginTracker.Instance.TrackFailure("loginWithScopes", sessionId, loginType, (int) TapErrorCode.ERROR_CODE_UNDEFINED, "UnKnow Error");
89
- tcs.TrySetException(new TapException((int) TapErrorCode.ERROR_CODE_UNDEFINED, "UnKnow Error"));
107
+ IsLogging = false;
108
+ tcs.TrySetException(new TapException((int) TapErrorCode.ERROR_CODE_UNDEFINED, "UnKnow Error " + e.Message));
90
109
  }
91
110
  }
92
111
  },
93
112
  OnError = (e, loginType) => {
94
113
  TapLoginTracker.Instance.TrackFailure("loginWithScopes", sessionId, loginType, e.Code, e.Message);
114
+ IsLogging = false;
95
115
  tcs.TrySetException(e);
96
116
  },
97
117
  OnClose = () => {
98
118
  TapLoginTracker.Instance.TrackCancel("loginWithScopes", sessionId);
119
+ IsLogging = false;
99
120
  tcs.TrySetCanceled();
100
121
  }
101
122
  };
@@ -2,6 +2,6 @@ namespace TapSDK.Login.Standalone
2
2
  {
3
3
  public interface IComplianceProvider
4
4
  {
5
- string GetAgeRangeScope();
5
+ string GetAgeRangeScope(bool isCN);
6
6
  }
7
7
  }
@@ -16,16 +16,29 @@ namespace TapSDK.Login.Standalone
16
16
 
17
17
  public Task<TapTapAccount> Login(string[] scopes)
18
18
  {
19
+ if(!TapCoreStandalone.CheckInitState()){
20
+ var defaultTcs = new TaskCompletionSource<TapTapAccount>();
21
+ defaultTcs.TrySetResult(null);
22
+ return defaultTcs.Task;
23
+ }
19
24
  return TapLoginStandaloneImpl.Instance.Login(scopes);
20
25
  }
21
26
 
22
27
  public void Logout()
23
28
  {
29
+ if(!TapCoreStandalone.CheckInitState()){
30
+ return;
31
+ }
24
32
  TapLoginStandaloneImpl.Instance.Logout();
25
33
  }
26
34
 
27
35
  public Task<TapTapAccount> GetCurrentAccount()
28
36
  {
37
+ if(!TapCoreStandalone.CheckInitState()){
38
+ var defaultTcs = new TaskCompletionSource<TapTapAccount>();
39
+ defaultTcs.TrySetResult(null);
40
+ return defaultTcs.Task;
41
+ }
29
42
  return TapLoginStandaloneImpl.Instance.GetCurrentAccount();
30
43
  }
31
44
  }
package/link.xml.meta CHANGED
@@ -1,5 +1,5 @@
1
1
  fileFormatVersion: 2
2
- guid: 233dc61db84f84cceb309285fc5087b5
2
+ guid: 6402d7e8f43c843439a34fde4f6a5dbd
3
3
  TextScriptImporter:
4
4
  externalObjects: {}
5
5
  userData:
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.5.1",
5
+ "version": "4.5.3",
6
6
  "unity": "2019.4",
7
7
  "license": "MIT",
8
8
  "dependencies": {
9
- "com.taptap.sdk.core": "4.5.1"
9
+ "com.taptap.sdk.core": "4.5.3"
10
10
  }
11
11
  }