68 lines
2.0 KiB
C#
68 lines
2.0 KiB
C#
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<string> scopes = new List<string>
|
||
{
|
||
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}");
|
||
}
|
||
}
|
||
}
|
||
} |