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; } } }