using System; using System.Collections.Generic; using System.Threading.Tasks; using Ichni.RhythmGame; using Sirenix.OdinInspector; using TapSDK.Core; using TapSDK.Login; using UnityEngine; namespace Online.Logic { public class ThirdPartyServiceManager:SerializedMonoBehaviour { public static ThirdPartyServiceManager Instance { get; private set; } = null!; private void Awake() { if (Instance != null) { Destroy(gameObject); return; } Instance = this; DontDestroyOnLoad(gameObject); } private void Start() { // 核心配置 详细参数见 [TapTapSDK] TapTapSdkOptions coreOptions = new TapTapSdkOptions() { clientId = "hkbfpbh2jv2kbxupmo", clientToken = "Cry8OrA9EmfAetgu1RduPrWntgba2Qt44uC5tfEB", region = TapTapRegionType.Overseas, preferredLanguage = TapTapLanguageType.en, enableLog = true }; // TapSDK 初始化 TapTapSDK.Init(coreOptions); TapTapLoginTest(); } async Task TapTapLoginTest() { try { // 定义授权范围 List scopes = new List { TapTapLogin.TAP_LOGIN_SCOPE_PUBLIC_PROFILE, TapTapLogin.TAP_LOGIN_SCOPE_EMAIL }; // 发起 Tap 登录 var userInfo = await TapTapLogin.Instance.LoginWithScopes(scopes.ToArray()); Debug.Log($"登录成功,当前用户 ID:{JsonUtility.ToJson(userInfo.accessToken)}"); } catch (TaskCanceledException) { Debug.Log("用户取消登录"); } catch (Exception exception) { Debug.Log($"登录失败,出现异常:{exception}"); } } } }