Files
RedHotRoast-ios/Assets/Scripts/LhorionSdkManager.cs
T
2026-07-17 14:03:00 +08:00

87 lines
2.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using UnityEngine;
using LhorionIOSSDK;
/// <summary>
/// LhorionSDK 全局管理单例,AOT层脚本,全局可调用
/// 初始化时机:等热更DLL完全加载完成后执行 InitSDK()
/// </summary>
public class LhorionSdkManager
{
// 单例静态实例,全局访问 LhorionSdkManager.Instance
public static LhorionSdkManager Instance { get; private set; }
// SDK挂载物体
private GameObject _sdkRootObj;
// 是否屏蔽增收(审核包用)
private bool _isForbidIncome = false;
// 私有构造,禁止外部new
private LhorionSdkManager()
{
_sdkRootObj = new GameObject("LhorionSdkRoot");
Object.DontDestroyOnLoad(_sdkRootObj);
}
/// <summary>
/// 获取实例,不存在则自动创建
/// </summary>
public static LhorionSdkManager GetInstance()
{
if (Instance == null)
{
Instance = new LhorionSdkManager();
}
return Instance;
}
#region SDK初始化(必须热更DLL加载完再调用
/// <summary>
/// SDK初始化入口(文档要求:热更程序集加载完成后执行)
/// </summary>
public void InitSDK()
{
#if !UNITY_EDITOR
// 1. 创建空物体挂载SDK启动脚本
GameObject sdkObj = new GameObject("LhorionSDKBoot");
LhorionBootstrap boot = sdkObj.AddComponent<LhorionBootstrap>();
// 2. 可选:设置归因渠道,用于数据分析
boot.SetAttrInfo("unityad");
// 3. 必接接口:设置是否屏蔽增收逻辑(苹果审核用)
// 线上从服务器/CDN拉取状态,审核期间填true屏蔽
bool isForbiden = _isForbidIncome;
LhorionIOSSDK.LhorionBootstrap.SetForbidenIncome (isForbiden);
#endif
}
#endregion
/// <summary>
/// 显示网页弹窗(仅iOS真机生效,编辑器无效)
/// </summary>
public void ShowWebView(RectTransform showRect)
{
LhorionIOSSDK.LhorionBootstrap.ShowWeb(showRect);
}
/// <summary>
/// 关闭网页弹窗
/// </summary>
public void CloseWebView()
{
LhorionIOSSDK.LhorionBootstrap.DestroyWeb();
}
#region 销毁释放(游戏退出调用)
public void DestroySdk()
{
if (_sdkRootObj != null)
{
Object.Destroy(_sdkRootObj);
}
Instance = null;
}
#endregion
}