c1_unity/Assets/Scripts/Common/SDK/BFUMPManager.cs
2025-11-03 10:59:33 +08:00

84 lines
2.0 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Runtime.InteropServices;
namespace BF
{
public class BFUMPManager
{
#if UNITY_IOS
#region GDPR
[DllImport("__Internal")]
private static extern void _MaxInitGDPR();
public static void InitGDPR()
{
_MaxInitGDPR();
}
[DllImport("__Internal")]
private static extern bool _MaxCheckIsGDPR();
public static bool IsPrivacyOptionsRequired()
{
return _MaxCheckIsGDPR();
}
[DllImport("__Internal")]
private static extern void _MaxShowGDRP();
public static void ShowPrivacyOptionsForm()
{
_MaxShowGDRP();
}
[DllImport("__Internal")]
private static extern bool _MaxCheckCanRequestAds();
public static bool CheckCanRequestAds()
{
return _MaxCheckCanRequestAds();
}
#endregion
#endif
public static Action luaCallback;
public static bool IsUMPFinish = false;
public static int UMPState = 0;
public static void OnUMPFinish(int state)
{
UMPState = state;
// 审核模式下,只有正常返回,lua 回调
if (BFMain.IsShenhe)
{
if (state == BFNativeSDKMessage.UMP_REQUEST_CONSENT_ERROR || state == BFNativeSDKMessage.UMP_LOAD_AND_PRESENT_ERROR || state == BFNativeSDKMessage.UMP_SUCCESS_CALLBACK)
{
IsUMPFinish = true;
if (luaCallback != null)
{
luaCallback();
}
}
}
else
{
IsUMPFinish = true;
if (luaCallback != null)
{
luaCallback();
}
}
}
public static void AddLuaCallback(Action callback)
{
luaCallback = callback;
}
public static void RemoveLuaCallback()
{
luaCallback = null;
}
}
}