using System.Collections.Generic; using System; using Newtonsoft.Json; using UnityEngine; using AOT; #if UNITY_IOS using System.Runtime.InteropServices; #endif namespace BF { public static class BFNativeSDKMessage { // Google登录 public const int GOOGLE_LOGIN_SUCCESS = 1; public const int GOOGLE_LOGIN_FAILED = 2; // Google登出成功 public const int GOOGLE_LOGOUT_SUCCESS = 3; // Google支付 public const int GOOGLE_PAY_SUCCESS = 4; public const int GOOGLE_PAY_FAILED = 5; public const int GOOGLE_PAY_CANCEL = 6; public const int GOOGLE_CONNECT_SUCCESS = 7; public const int GOOGLE_CONNECT_FAILED = 8; public const int QUERY_PRODUCT_SUCCESS = 9; public const int QUERY_PRODUCT_FAILED = 10; public const int QUERY_UNCOMPLETE_ORDER_FINISH = 11; public const int GOOGLE_CONSUME_SUCCESS = 12; public const int GOOGLE_CONSUME_FAILED = 13; // Google登出失败 public const int GOOGLE_LOGOUT_FAILED = 14; // firebase token public const int FIREBASE_TOKEN = 15; // 订阅查询 public const int QUERY_SUBSCRIBE_FINISH = 16; public const int ADMOB_SHOWED_FULLSCREEN = 17; public const int ADMOB_FAILEDTO_SHOW_FULLSCREEN = 18; public const int ADMOB_DISMISSED_FULLSCREEN = 19; public const int ADMOB_LOADED = 20; public const int ADMOB_LOADED_FAILED = 21; public const int ADMOB_EARNED_REWARD = 22; public const int ADMOB_INITIALIZED = 23; public const int UMP_REQUEST_CONSENT_ERROR = 30; public const int UMP_LOAD_AND_PRESENT_ERROR = 31; public const int UMP_SUCCESS_CALLBACK = 32; public const int UMP_PARALLEL_CALLBACK = 33; // 俄罗斯支付 public const int RU_CHECK_VALID_SUCCESS = 40; public const int RU_CHECK_VALID_FAILED = 41; public const int RU_GET_PRODUCTS_SUCCESS = 42; public const int RU_GET_PRODUCTS_FAILED = 43; public const int RU_GET_PURCHASE_SUCCESS = 44; public const int RU_GET_PURCHASE_FAILED = 45; public const int RU_PURCHASE_SUCCESS = 46; public const int RU_PURCHASE_FAILED = 47; public const int RU_PURCHASE_CANCEL = 48; public const int RU_CONSUME_SUCCESS = 49; public const int RU_CONSUME_FAILED = 50; // 俄罗斯商店好评 public const int RU_STORE_REVIEW_REQUEST_SUCCESS = 51; public const int RU_STORE_REVIEW_REQUEST_FAILED = 52; public const int RU_STORE_REVIEW_LAUNCH_SUCCESS = 53; public const int RU_STORE_REVIEW_LAUNCH_FAILED = 54; public const int RU_VKID_LOGIN_SUCCESS = 55; public const int RU_VKID_LOGIN_FAILED = 56; public const int RU_VKID_LOGOUT_SUCCESS = 57; public const int RU_VKID_LOGOUT_FAILED = 58; // 华为支付 public const int HW_CHECK_VALID_SUCCESS = 59; public const int HW_CHECK_VALID_FAILED = 60; public const int HW_GET_PRODUCTS_SUCCESS = 61; public const int HW_GET_PRODUCTS_FAILED = 62; public const int HW_GET_PURCHASE_SUCCESS = 63; public const int HW_GET_PURCHASE_FAILED = 64; public const int HW_PURCHASE_SUCCESS = 65; public const int HW_PURCHASE_FAILED = 66; public const int HW_PURCHASE_CANCEL = 67; public const int HW_CONSUME_SUCCESS = 68; public const int HW_CONSUME_FAILED = 69; // 华为广告 public const int HW_SHOWED_FULLSCREEN = 70; public const int HW_FAILEDTO_SHOW_FULLSCREEN = 71; public const int HW_LOADED = 72; public const int HW_LOADED_FAILED = 73; public const int HW_EARNED_REWARD = 74; } public class BFNativeSDKManager : MonoBehaviour { #if UNITY_ANDROID && !UNITY_EDITOR private static readonly AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.juzu.dz.third.GooglePlugin"); #endif #if UNITY_IOS && !UNITY_EDITOR private delegate void GetFirebaseTokenCompleted(string token); [DllImport("__Internal")] private static extern void FIRLogEvent(string eventName, string properties); [DllImport("__Internal")] private static extern void FIRGetToken(IntPtr callback); [DllImport ("__Internal")] private static extern void _OpenURL(string url); // [DllImport("__Internal")] // private static extern void VKInit(string appId); // [DllImport("__Internal")] // private static extern void VKLogin(); #endif [Serializable] public class NativeResultMsg { public int head; public string body; } public void InitGoogleLogin() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("initLogin"); #endif } public void InitGooglePay() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("initBilling"); #endif } public void InitAdmobRewardedVideo() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("initAdmobRewardedVideo"); #endif } public void InitGDPR() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("initGDPR"); #endif } public void GooglePay(string payType, string productId, string customMsg) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("pay", payType, productId, customMsg); #endif } public void ConsumePurchase(string token) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("consumeAsync", token); #endif } public void GoogleLogin() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("login"); #endif } public void GoogleLogout() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("logout"); #endif } public void QueryGoogleProductInfo(string payType, string productJson) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("queryProductsInfo", payType, productJson); #endif } // 连接google商店 public void ConnectGoogleStore() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("connectGoogleStore"); #endif } public void QueryUncompleteOrder(string payType) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("queryUncompleteOrder", payType); #endif } public void QuerySubscribeInfo(string payType) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("querySubscribeOrder", payType); #endif } #if UNITY_IOS && !UNITY_EDITOR [MonoPInvokeCallback(typeof(GetFirebaseTokenCompleted))] private static void GetFirebaseTokenCallback(string token) { BFMain.Instance.LoomMgr.QueueOnMainThread(() => { BFMain.Instance.SDKMgr.BFLoginSDKMgr.SetFirebaseToken(token); }); } #endif public void GetFirebaseToken() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("getFirebaseToken"); #endif #if UNITY_IOS && !UNITY_EDITOR IntPtr cback = IntPtr.Zero; GetFirebaseTokenCompleted d = GetFirebaseTokenCallback; cback = Marshal.GetFunctionPointerForDelegate(d); FIRGetToken(cback); #endif } public void ShowFullScreenAds() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("showFullScreenAds"); #endif } public void TryLoadRewardedAd() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("tryLoadRewardedAd"); #endif } public void SetAdPlacement(string placement) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("setAdPlacement", placement); #endif } // firebase log event public void LogEvent(string eventName, Dictionary eventValues) { LogEvent(eventName, JsonConvert.SerializeObject(eventValues)); } public void LogEvent(string eventName, string eventValues) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("logEvent", eventName, eventValues); #endif #if UNITY_IOS && !UNITY_EDITOR FIRLogEvent(eventName, eventValues); #endif } // Log to Crashlytics public void LogCrashCustomKey(string key, string stack) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("logCrash", key, stack); #endif } public bool IsPrivacyOptionsRequired() { #if UNITY_ANDROID && !UNITY_EDITOR return androidJavaClass.CallStatic("isPrivacyOptionsRequired"); #endif return false; } public void ShowPrivacyOptionsForm() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("showPrivacyOptionsForm"); #endif } public void ResetGDPR() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("resetGDPR"); #endif } public void OnUMPFinish(string stateStr) { int state = 0; int.TryParse(stateStr, out state); // 审核模式下,只有正常返回 触发ATT if (BFMain.IsShenhe) { if (state == BFNativeSDKMessage.UMP_REQUEST_CONSENT_ERROR || state == BFNativeSDKMessage.UMP_LOAD_AND_PRESENT_ERROR || state == BFNativeSDKMessage.UMP_SUCCESS_CALLBACK) { BFMain.Instance.GameLaunchMgr.ShowIOSATTrack(); } } else { BFMain.Instance.GameLaunchMgr.ShowIOSATTrack(); } BFUMPManager.OnUMPFinish(state); } public string GetAppSignMD5() { #if UNITY_ANDROID && !UNITY_EDITOR return androidJavaClass.CallStatic("getSign", "MD5"); #endif return string.Empty; } public string GetAppSignSHA1() { #if UNITY_ANDROID && !UNITY_EDITOR return androidJavaClass.CallStatic("getSign", "SHA1"); #endif return string.Empty; } public string GetAppSignSHA256() { #if UNITY_ANDROID && !UNITY_EDITOR return androidJavaClass.CallStatic("getSign", "SHA256"); #endif return string.Empty; } public void RequestStoreReview() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("requestStoreReview"); #endif #if UNITY_IOS && !UNITY_EDITOR UnityEngine.iOS.Device.RequestStoreReview(); #endif } #region 俄罗斯支付 public void RuInit() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("ruInit"); #endif Debug.Log("C# call RUInit"); } public void RuCheckValid() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("ruCheckValid"); #endif Debug.Log("C# call RuCheckValid"); } public void RuGetProducts(string productJson, Action callback) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("ruGetProducts", productJson); #endif Debug.Log("C# call RUGetProducts"); } public void RuGetPurchase() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("ruGetPurchase"); #endif Debug.Log("C# call RUGetPurchase"); } public void RuPurchase(string productId, string customMsg) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("ruPurchase", productId, customMsg); #endif Debug.Log("C# call RUPurchase:" + productId); } public void RuConsume(string purchaseId) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("ruConsume", purchaseId); #endif Debug.Log("C# call RUConsume:" + purchaseId); } public void RuDelete(string purchaseId) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("ruDelete", purchaseId); #endif Debug.Log("C# call RUDelete:" + purchaseId); } #endregion public bool IsAndroidPkgInstalled(string pkgName) { bool isInstalled = false; #if UNITY_ANDROID && !UNITY_EDITOR isInstalled = androidJavaClass.CallStatic("checkInstalled", pkgName); #endif return isInstalled; Debug.Log("C# call RUDelete:" + pkgName + " isInstalled:" + isInstalled); } #region 俄罗斯商店好评 public void RuRequestStoreReview() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("requestAndLaunchStoreReviewFlow"); #endif Debug.Log("C# call RuRequestStoreReview"); } #endregion #region vk登录登出 public void VKIDInit(string id) { if (BFPlatform.IsSupportVK()) { #if UNITY_IOS && !UNITY_EDITOR // VKInit(id); #endif } } public void VKIDLogout() { if (BFPlatform.IsSupportVK()) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("vkidLogout"); #endif #if UNITY_IOS && !UNITY_EDITOR BFMain.Instance.SDKMgr.BFLoginSDKMgr.VKIDLogoutComplete(true); #endif } } public void VKIDLogin() { if (BFPlatform.IsSupportVK()) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("vkidLogin"); #endif #if UNITY_IOS && !UNITY_EDITOR // VKLogin(); #endif } } public void IOSVKLoginCallBack(string code) { if (code.Equals("1")) { BFMain.Instance.SDKMgr.BFLoginSDKMgr.VKIDLoginComplete(false, code); } else { BFMain.Instance.SDKMgr.BFLoginSDKMgr.VKIDLoginComplete(true, code); } } #endregion public void PayDukPay(string url) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("payDukPay", url); #endif } #region 华为支付 public void HWCheckValid() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("hwCheckValid"); #endif Debug.Log("C# call hwCheckValid"); } public void HWGetProducts(string productJson, Action callback) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("hwGetProducts", productJson); #endif Debug.Log("C# call HWGetProducts"); } public void HWGetPurchase() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("hwGetPurchase"); #endif Debug.Log("C# call HWGetPurchase"); } public void HWPurchase(string productId, string customMsg) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("hwPurchase", productId, customMsg); #endif Debug.Log("C# call HWPurchase:" + productId); } public void HWConsume(string productJson) { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("hwConsume", productJson); #endif Debug.Log("C# call HWConsume:" + productJson); } #endregion #region 华为广告 public void InitHWAdRewardedVideo() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("initHWAdRewardedVideo"); #endif } public void ShowHWFullScreenAds() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("showHWFullScreenAds"); #endif } public void TryLoadHWRewardedAd() { #if UNITY_ANDROID && !UNITY_EDITOR androidJavaClass.CallStatic("tryLoadHWRewardedAd"); #endif } public void OpenUrl(string url) { #if UNITY_IOS && !UNITY_EDITOR _OpenURL(url); #else Application.OpenURL(url); #endif } #endregion public void MsgFromAndroidOrIOS(string content) { var msgResult = JsonUtility.FromJson(content); BFLog.Log(msgResult.body); int head = msgResult.head; switch (head) { case BFNativeSDKMessage.GOOGLE_LOGIN_SUCCESS: BFMain.Instance.SDKMgr.BFLoginSDKMgr.GoogleLoginComplete(true, msgResult.body); break; case BFNativeSDKMessage.GOOGLE_LOGIN_FAILED: BFMain.Instance.SDKMgr.BFLoginSDKMgr.GoogleLoginComplete(false, msgResult.body); break; case BFNativeSDKMessage.GOOGLE_LOGOUT_SUCCESS: BFMain.Instance.SDKMgr.BFLoginSDKMgr.GoogleLogoutComplete(true); break; case BFNativeSDKMessage.GOOGLE_LOGOUT_FAILED: BFMain.Instance.SDKMgr.BFLoginSDKMgr.GoogleLogoutComplete(false); break; case BFNativeSDKMessage.GOOGLE_CONNECT_SUCCESS: BFMain.Instance.SDKMgr.BFPaySDKMgr.GoogleStoreConnectComplete(true); break; case BFNativeSDKMessage.GOOGLE_CONNECT_FAILED: BFMain.Instance.SDKMgr.BFPaySDKMgr.GoogleStoreConnectComplete(false); break; case BFNativeSDKMessage.QUERY_PRODUCT_SUCCESS: BFMain.Instance.SDKMgr.BFPaySDKMgr.QueryProductOver(true, msgResult.body); break; case BFNativeSDKMessage.QUERY_PRODUCT_FAILED: BFMain.Instance.SDKMgr.BFPaySDKMgr.QueryProductOver(false, msgResult.body); break; case BFNativeSDKMessage.GOOGLE_PAY_SUCCESS: BFMain.Instance.SDKMgr.BFPaySDKMgr.GooglePayComplete(0, msgResult.body); break; case BFNativeSDKMessage.GOOGLE_PAY_FAILED: BFMain.Instance.SDKMgr.BFPaySDKMgr.GooglePayComplete(2, msgResult.body); break; case BFNativeSDKMessage.GOOGLE_PAY_CANCEL: BFMain.Instance.SDKMgr.BFPaySDKMgr.GooglePayComplete(1, msgResult.body); break; case BFNativeSDKMessage.QUERY_UNCOMPLETE_ORDER_FINISH: BFMain.Instance.SDKMgr.BFPaySDKMgr.QueryUncompleteOrderFinish(msgResult.body); break; case BFNativeSDKMessage.GOOGLE_CONSUME_SUCCESS: BFMain.Instance.SDKMgr.BFPaySDKMgr.GoogleConsumeComplete(0); break; case BFNativeSDKMessage.GOOGLE_CONSUME_FAILED: BFMain.Instance.SDKMgr.BFPaySDKMgr.GoogleConsumeComplete(1); break; case BFNativeSDKMessage.FIREBASE_TOKEN: BFMain.Instance.SDKMgr.BFLoginSDKMgr.SetFirebaseToken(msgResult.body); break; case BFNativeSDKMessage.QUERY_SUBSCRIBE_FINISH: BFMain.Instance.SDKMgr.BFPaySDKMgr.QuerySubscribeInfoFinish(msgResult.body); break; case BFNativeSDKMessage.ADMOB_SHOWED_FULLSCREEN: // BFMain.Instance.SDKMgr.BFAdmobSDKMgr.ShowFullScreenAdFinish(0); break; case BFNativeSDKMessage.ADMOB_FAILEDTO_SHOW_FULLSCREEN: // BFMain.Instance.SDKMgr.BFAdmobSDKMgr.ShowFullScreenAdFinish(1); break; case BFNativeSDKMessage.ADMOB_DISMISSED_FULLSCREEN: // BFMain.Instance.SDKMgr.BFAdmobSDKMgr.ShowFullScreenAdFinish(2); break; case BFNativeSDKMessage.ADMOB_LOADED: // BFMain.Instance.SDKMgr.BFAdmobSDKMgr.AdLoadedFinish(0); break; case BFNativeSDKMessage.ADMOB_LOADED_FAILED: // BFMain.Instance.SDKMgr.BFAdmobSDKMgr.AdLoadedFinish(1); break; case BFNativeSDKMessage.ADMOB_EARNED_REWARD: // BFMain.Instance.SDKMgr.BFAdmobSDKMgr.EarnedRewardFinish(0, msgResult.body); break; case BFNativeSDKMessage.ADMOB_INITIALIZED: // BFMain.Instance.SDKMgr.BFAdmobSDKMgr.AdInitialized = true; break; // 俄罗斯支付 case BFNativeSDKMessage.RU_CHECK_VALID_SUCCESS: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFRuPaySDKMgr.CheckStoreValidComplete(true); break; case BFNativeSDKMessage.RU_CHECK_VALID_FAILED: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFRuPaySDKMgr.CheckStoreValidComplete(false); break; case BFNativeSDKMessage.RU_GET_PRODUCTS_SUCCESS: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFRuPaySDKMgr.QueryProductComplete(true, msgResult.body); break; case BFNativeSDKMessage.RU_GET_PRODUCTS_FAILED: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFRuPaySDKMgr.QueryProductComplete(false, msgResult.body); break; case BFNativeSDKMessage.RU_GET_PURCHASE_SUCCESS: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFRuPaySDKMgr.QueryUncompleteOrderFinish(msgResult.body); break; case BFNativeSDKMessage.RU_GET_PURCHASE_FAILED: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFRuPaySDKMgr.QueryUncompleteOrderFinish(msgResult.body); break; case BFNativeSDKMessage.RU_PURCHASE_SUCCESS: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFRuPaySDKMgr.PayComplete(0, msgResult.body); break; case BFNativeSDKMessage.RU_PURCHASE_FAILED: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFRuPaySDKMgr.PayComplete(1, msgResult.body); break; case BFNativeSDKMessage.RU_PURCHASE_CANCEL: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFRuPaySDKMgr.PayComplete(2, msgResult.body); break; case BFNativeSDKMessage.RU_CONSUME_SUCCESS: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFRuPaySDKMgr.ConsumeComplete(0); break; case BFNativeSDKMessage.RU_CONSUME_FAILED: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFRuPaySDKMgr.ConsumeComplete(1); break; case BFNativeSDKMessage.RU_STORE_REVIEW_REQUEST_SUCCESS: // Debug.Log(msgResult.body); break; case BFNativeSDKMessage.RU_STORE_REVIEW_REQUEST_FAILED: // Debug.Log(msgResult.body); break; case BFNativeSDKMessage.RU_STORE_REVIEW_LAUNCH_SUCCESS: // Debug.Log(msgResult.body); break; case BFNativeSDKMessage.RU_STORE_REVIEW_LAUNCH_FAILED: // Debug.Log(msgResult.body); break; case BFNativeSDKMessage.RU_VKID_LOGIN_SUCCESS: BFMain.Instance.SDKMgr.BFLoginSDKMgr.VKIDLoginComplete(true, msgResult.body); break; case BFNativeSDKMessage.RU_VKID_LOGIN_FAILED: BFMain.Instance.SDKMgr.BFLoginSDKMgr.VKIDLoginComplete(false, msgResult.body); break; case BFNativeSDKMessage.RU_VKID_LOGOUT_SUCCESS: BFMain.Instance.SDKMgr.BFLoginSDKMgr.VKIDLogoutComplete(true); break; case BFNativeSDKMessage.RU_VKID_LOGOUT_FAILED: BFMain.Instance.SDKMgr.BFLoginSDKMgr.VKIDLogoutComplete(false); break; // 华为支付 case BFNativeSDKMessage.HW_CHECK_VALID_SUCCESS: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFHWPaySDKMgr.CheckStoreValidComplete(true); break; case BFNativeSDKMessage.HW_CHECK_VALID_FAILED: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFHWPaySDKMgr.CheckStoreValidComplete(false); break; case BFNativeSDKMessage.HW_GET_PRODUCTS_SUCCESS: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFHWPaySDKMgr.QueryProductComplete(true, msgResult.body); break; case BFNativeSDKMessage.HW_GET_PRODUCTS_FAILED: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFHWPaySDKMgr.QueryProductComplete(false, msgResult.body); break; case BFNativeSDKMessage.HW_GET_PURCHASE_SUCCESS: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFHWPaySDKMgr.QueryUncompleteOrderFinish(msgResult.body); break; case BFNativeSDKMessage.HW_GET_PURCHASE_FAILED: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFHWPaySDKMgr.QueryUncompleteOrderFinish(msgResult.body); break; case BFNativeSDKMessage.HW_PURCHASE_SUCCESS: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFHWPaySDKMgr.PayComplete(0, msgResult.body); break; case BFNativeSDKMessage.HW_PURCHASE_FAILED: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFHWPaySDKMgr.PayComplete(1, msgResult.body); break; case BFNativeSDKMessage.HW_PURCHASE_CANCEL: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFHWPaySDKMgr.PayComplete(2, msgResult.body); break; case BFNativeSDKMessage.HW_CONSUME_SUCCESS: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFHWPaySDKMgr.ConsumeComplete(0); break; case BFNativeSDKMessage.HW_CONSUME_FAILED: // Debug.Log(msgResult.body); BFMain.Instance.SDKMgr.BFHWPaySDKMgr.ConsumeComplete(1); break; // 华为广告 case BFNativeSDKMessage.HW_SHOWED_FULLSCREEN: // BFMain.Instance.SDKMgr.BFHWAdSDKMgr.ShowFullScreenAdFinish(0); break; case BFNativeSDKMessage.HW_FAILEDTO_SHOW_FULLSCREEN: // BFMain.Instance.SDKMgr.BFHWAdSDKMgr.ShowFullScreenAdFinish(1); break; case BFNativeSDKMessage.HW_LOADED: // BFMain.Instance.SDKMgr.BFHWAdSDKMgr.AdLoadedFinish(0); break; case BFNativeSDKMessage.HW_LOADED_FAILED: // BFMain.Instance.SDKMgr.BFHWAdSDKMgr.AdLoadedFinish(1); break; case BFNativeSDKMessage.HW_EARNED_REWARD: // BFMain.Instance.SDKMgr.BFHWAdSDKMgr.EarnedRewardFinish(0, msgResult.body); break; default: break; } } } }