Files
dingyuntian 55e7a5c18c 手机端问题修改
1. tap跳转功能实现
2. 跳字优化
2025-12-29 17:42:15 +08:00

83 lines
2.5 KiB
C#

using System;
using UnityEngine;
using AibisDream.Kit;
using TapSDK.Core;
using TapSDK.Rep;
namespace AibisDream
{
public class TapTapCenter : Singleton<TapTapCenter>
{
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
}
/// <summary>
/// 打开Tap指定链接
/// </summary>
/// <param name="callback"></param>
public void OpenTapUrl(Action<int, string> callback)
{
if (!_isInitialized)
{
Debug.LogError("TapTap SDK未初始化");
return;
}
Debug.Log($"打开TapTap链接: {_tapTapConfig.tapUrl}");
TapTapRep.Open(_tapTapConfig.tapUrl, callback);
}
}
}