87 lines
2.4 KiB
C#
87 lines
2.4 KiB
C#
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
|
|||
|
|
}
|