TapSDKManager.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Threading.Tasks;
  4. using Fort23.Core;
  5. using TapSDK.Core;
  6. using TapSDK.Login;
  7. using UnityEngine;
  8. using Utility;
  9. namespace GameMono
  10. {
  11. public class TapSDKManager : Singleton<TapSDKManager>
  12. {
  13. public string clientId = "bsmst6kdocd7ph13a0";
  14. public string clientToken = "M4cSc0L6PAGDrgFFvtWqu6ewzNYxNYjghckWlwHs";
  15. public void CustomInit()
  16. {
  17. TapTapSdkOptions coreOptions = new TapTapSdkOptions
  18. {
  19. // 客户端 ID,开发者后台获取
  20. clientId = clientId,
  21. // 客户端令牌,开发者后台获取
  22. clientToken = clientToken,
  23. // 地区,CN 为国内,Overseas 为海外
  24. region = TapTapRegionType.CN,
  25. // 语言,默认为 Auto,默认情况下,国内为 zh_Hans,海外为 en
  26. preferredLanguage = TapTapLanguageType.zh_Hans,
  27. // 是否开启日志,Release 版本请设置为 false
  28. enableLog = true
  29. };
  30. // // TapSDK 初始化
  31. // TapTapSDK.Init(coreOptions);
  32. // 当需要添加其他模块的初始化配置项,例如合规认证、成就等, 请使用如下 API
  33. TapTapSdkBaseOptions[] otherOptions = new TapTapSdkBaseOptions[]
  34. {
  35. // 其他模块配置项
  36. };
  37. TapTapSDK.Init(coreOptions, otherOptions);
  38. }
  39. public async CTask<bool> Login()
  40. {
  41. CTask<bool> cTask = CTask<bool>.Create();
  42. try
  43. {
  44. // 定义授权范围
  45. List<string> scopes = new List<string>
  46. {
  47. TapTapLogin.TAP_LOGIN_SCOPE_PUBLIC_PROFILE
  48. };
  49. // 发起 Tap 登录
  50. var userInfo = await TapTapLogin.Instance.LoginWithScopes(scopes.ToArray());
  51. cTask.SetResult(true);
  52. // HudPanel.ShowTipsCom($"登录成功,当前用户 ID:{userInfo.unionId}");
  53. Debug.Log($"登录成功,当前用户 ID:{userInfo.unionId}");
  54. }
  55. catch (TaskCanceledException)
  56. {
  57. cTask.SetResult(false);
  58. // HudPanel.ShowTipsCom("用户取消登录");
  59. Debug.Log("用户取消登录");
  60. }
  61. catch (Exception exception)
  62. {
  63. // HudPanel.ShowTipsCom($"登录失败,出现异常:{exception}");
  64. Debug.Log($"登录失败,出现异常:{exception}");
  65. }
  66. return await cTask;
  67. }
  68. public void LogOut()
  69. {
  70. TapTapLogin.Instance.Logout();
  71. }
  72. }
  73. }