using System; using UnityEngine; using AibisDream.Kit; using TapSDK.Core; using TapSDK.Rep; namespace AibisDream { public class TapTapCenter : Singleton { private bool _isInitialized = false; [SerializeField] private TapTapConfig _tapTapConfig; public override void OnSingletonInit() { base.OnSingletonInit(); DontDestroyOnLoad(gameObject); } public void Init() { #if UNITY_ANDROID || UNITY_IOS try { if (_tapTapConfig == null) { Debug.LogError("TapTapConfig为空,请先配置TapTapConfig"); return; } // 核心配置 TapTapSdkOptions coreOptions = new TapTapSdkOptions { // 客户端 ID,开发者后台获取 clientId = _tapTapConfig.clientId, // 客户端令牌,开发者后台获取 clientToken = _tapTapConfig.clientToken, // 地区,CN 为国内,Overseas 为海外 region = _tapTapConfig.region, // 语言,默认为 Auto,默认情况下,国内为 zh_Hans,海外为 en preferredLanguage = TapTapLanguageType.Auto, // 是否开启日志,Release 版本请设置为 false enableLog = _tapTapConfig.enableLog }; // TapSDK 初始化 ActionKit.Sequence() .Task(async () => TapTapSDK.Init(coreOptions)) .Callback(() => _isInitialized = true) .Callback(() => Debug.Log("TapTap SDK初始化成功")) .Start(this); } catch (Exception e) { Debug.LogError($"TapTap SDK初始化失败: {e}"); } #else Debug.Log("TapTap登录仅在移动平台可用"); _isInitialized = false; #endif } /// /// 打开Tap指定链接 /// /// public void OpenTapUrl(Action callback) { if (!_isInitialized) { Debug.LogError("TapTap SDK未初始化"); return; } Debug.Log($"打开TapTap链接: {_tapTapConfig.tapUrl}"); TapTapRep.Open(_tapTapConfig.tapUrl, callback); } } }