| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  | using System; | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  | using System.Collections; | 
					
						
							|  |  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  |  | using UnityEngine; | 
					
						
							|  |  |  |  | using Touka; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  | public class TKGSDKManager : TKGSingleton<TKGSDKManager> | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  | { | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     public bool IsNoAllAD | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         get => mIsNoAllAD; | 
					
						
							|  |  |  |  |         set | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             mIsNoAllAD = value; | 
					
						
							|  |  |  |  |             if (mIsNoAllAD) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 PurchasedRemoveAds(); | 
					
						
							|  |  |  |  |                 HideBanner(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |     private bool mIsNoAllAD = false; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public bool IsRemoveAds | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         get => mIsRemoveAds; | 
					
						
							|  |  |  |  |         set | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             mIsRemoveAds = value; | 
					
						
							|  |  |  |  |             if (mIsRemoveAds) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 PurchasedRemoveAds(); | 
					
						
							|  |  |  |  |                 HideBanner(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |     private bool mIsRemoveAds = false; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public bool IsIAPEnabled | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         get | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             AppChannel tChannel = GetChannel(); | 
					
						
							|  |  |  |  |             return (tChannel == AppChannel.AppStore_GB || tChannel == AppChannel.GooglePlay); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     private int mLoginCount | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         get => PlayerPrefs.GetInt(nameof(mLoginCount), 0); | 
					
						
							|  |  |  |  |         set => PlayerPrefs.SetInt(nameof(mLoginCount), value); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     private int mPassCount | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         get => PlayerPrefs.GetInt(nameof(mPassCount), 0); | 
					
						
							|  |  |  |  |         set => PlayerPrefs.SetInt(nameof(mPassCount), value); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     private bool mHasPoppedReview | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         get => PlayerPrefs.GetInt(nameof(mHasPoppedReview), 0) == 1; | 
					
						
							|  |  |  |  |         set => PlayerPrefs.SetInt(nameof(mHasPoppedReview), value ? 1 : 0); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     private bool isInit = false; | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |     private ITKGSDK m_sdkInterface; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     protected override void OnInstanceCreate() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         base.OnInstanceCreate(); | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-06-13 07:55:30 +00:00
										 |  |  |  |         m_sdkInterface = new TKGSDKNative(); | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// init sdk | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_initCallback"></param> | 
					
						
							|  |  |  |  |     public void InitSDK(Action _initCallback = null) | 
					
						
							|  |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |         if (isInit) return; | 
					
						
							|  |  |  |  |          | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |         m_sdkInterface.InitSDK(_initCallback); | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |         isInit = true; | 
					
						
							|  |  |  |  |         mLoginCount++; | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |         if (IsIAPEnabled) | 
					
						
							|  |  |  |  |         { | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  | #if USE_IAP | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |             IAPTool.Instance.Initialize(); | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  | #endif | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Set game focus | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_gameFocusAction"></param> | 
					
						
							|  |  |  |  |     public void SetGameFocusListener(Action<bool> _gameFocusAction) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.SetGameFocusListener(_gameFocusAction); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     // reward click callback | 
					
						
							|  |  |  |  |     public void SetRewardClickListener(Action _clickCallback = null) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.SetRewardClickListener(_clickCallback); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Get channel | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <returns></returns> | 
					
						
							|  |  |  |  |     public AppChannel GetChannel() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         return m_sdkInterface.GetChannel(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     /// Set log enable | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     /// </summary> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     public void SetLogEnable(bool _enable) | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |         StaticOtherConfig.IsDebugLog = _enable; | 
					
						
							|  |  |  |  |         m_sdkInterface.SetLogEnable(_enable); | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     #region Ads | 
					
						
							|  |  |  |  |     // 去广告接口调用 | 
					
						
							|  |  |  |  |     public void PurchasedRemoveAds() | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |         m_sdkInterface.PurchasedRemoveAds(); | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     /// Show Interstitial Ad | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     /// </summary> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     /// <param name="_adPos"> Name of interstitial ad placement. </param> | 
					
						
							|  |  |  |  |     /// <param name="_callback"> Callback of interstitial ad close and show interstitial failed</param> | 
					
						
							|  |  |  |  |     /// <param name="_IvType"> IVADType for distinguish interstitial ads frequency, default use iv1</param> | 
					
						
							|  |  |  |  |     public void ShowInterstitialAd(TKGIVAdPositionName _adPos, Action _callback = null, IVADType _IvType = IVADType.IV1) | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  | #if UNITY_EDITOR || NO_AD | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |         if (null != _callback) | 
					
						
							|  |  |  |  |         { | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |             Debug.Log("Need Show IV, in editor directly invoke callback."); | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |             _callback.Invoke(); | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |         return; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  | #endif | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |         if (IsNoAllAD || IsRemoveAds) | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |         { | 
					
						
							|  |  |  |  |             _callback?.Invoke(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         else | 
					
						
							|  |  |  |  |         { | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |             m_sdkInterface.ShowInterstitialAd(_adPos, _callback, _IvType); | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     /// Show Reward Ad | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     /// </summary> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     /// <param name="_adPos"> Name of reward ad placement</param> | 
					
						
							|  |  |  |  |     /// <param name="_rewardCallback"> true:reward succ, false: reward failed</param> | 
					
						
							|  |  |  |  |     /// <param name="_showFailedCallback">Callback of reward ad show fail</param> | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  |     public void ShowRewardAd(TKGRVPositionName _adPos, Action<bool> _rewardCallback = null, Action _showFailedCallback = null, bool showSDKToast = false) | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  | #if UNITY_EDITOR || NO_AD | 
					
						
							|  |  |  |  |         if (null != _rewardCallback) | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |         { | 
					
						
							|  |  |  |  |             _rewardCallback.Invoke(true); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         return; | 
					
						
							|  |  |  |  | #endif | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         if (IsNoAllAD) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             _rewardCallback?.Invoke(true); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         else | 
					
						
							|  |  |  |  |         { | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  |             m_sdkInterface.SetShowSDKToast(showSDKToast); | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |             m_sdkInterface.ShowRewardAd(_adPos, _rewardCallback, _showFailedCallback); | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     public void ShowNative(RectTransform pRect, Camera pCam = null, string pAdPos = "") | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  | #if !NO_AD | 
					
						
							|  |  |  |  |         if (!IsNoAllAD && !IsRemoveAds) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             m_sdkInterface.ShowNativeAd(pRect, pCam, pAdPos); | 
					
						
							|  |  |  |  |         }   | 
					
						
							|  |  |  |  | #endif | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Is Ready Interstitial | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <returns></returns> | 
					
						
							|  |  |  |  |     public bool IsReadyInterstitialAd() | 
					
						
							|  |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  |          | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |         return m_sdkInterface.IsReadyInterstitialAd(); | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Is Ready Reward | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <returns></returns> | 
					
						
							|  |  |  |  |     public bool IsReadyRewardAd() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         return m_sdkInterface.IsReadyRewardAd(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Is Ready Native Ad | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <returns></returns> | 
					
						
							|  |  |  |  |     public bool IsReadyNativeAd() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  | #if NO_AD | 
					
						
							|  |  |  |  |         return false; | 
					
						
							|  |  |  |  | #else | 
					
						
							|  |  |  |  |         return m_sdkInterface.IsReadyNativeAd(); | 
					
						
							|  |  |  |  | #endif | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Show banner | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_bannerAlign">bannerAlign</param> | 
					
						
							|  |  |  |  |     public void ShowBanner(TKGBannerAlign _bannerAlign) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  | #if !NO_AD | 
					
						
							|  |  |  |  |         if (!IsNoAllAD && !IsRemoveAds) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             m_sdkInterface.ShowBanner(_bannerAlign); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | #endif | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Hide banner | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     public void HideBanner() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.HideBanner(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Remove Native | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     public void RemoveNative() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.RemoveNativeAd(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | #endregion | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  | #region Log Event | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  | #region Normal | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Log Event | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_eventSort"></param> | 
					
						
							|  |  |  |  |     public void LogEvent(string _eventSort) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.LogEvent(_eventSort); | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |       | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Log Event | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_eventSort"></param> | 
					
						
							|  |  |  |  |     /// <param name="_key"></param> | 
					
						
							|  |  |  |  |     /// <param name="_value"></param> | 
					
						
							|  |  |  |  |     public void LogEvent(string _eventSort, string _key, string _value) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.LogEvent(_eventSort, _key, _value); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Log Event | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_eventSort"></param> | 
					
						
							|  |  |  |  |     /// <param name="_key01"></param> | 
					
						
							|  |  |  |  |     /// <param name="_value01"></param> | 
					
						
							|  |  |  |  |     /// <param name="_key02"></param> | 
					
						
							|  |  |  |  |     /// <param name="_value02"></param> | 
					
						
							|  |  |  |  |     public void LogEvent(string _eventSort, string _key01, string _value01, string _key02, string _value02) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.LogEvent(_eventSort, _key01, _value01, _key02, _value02); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Log Event | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_eventSort"></param> | 
					
						
							|  |  |  |  |     /// <param name="_eventDic"></param> | 
					
						
							|  |  |  |  |     public void LogEvent(string _eventSort, Dictionary<string, string> _eventDic = null) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.LogEvent(_eventSort, _eventDic); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | #region Level Event | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     /// Level start | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_level"></param> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     public void LevelStart(int _level) | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |         LevelStart(_level.ToString()); | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     /// Level start | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_level"></param> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     public void LevelStart(string _level) | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |         m_sdkInterface.LevelStart(_level); | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     /// Level end | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_level"></param> | 
					
						
							|  |  |  |  |     /// <param name="_win"></param> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     public bool LevelEnd(int _level, StageResult _stageResult) | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |         return LevelEnd(_level.ToString(), _stageResult); | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     /// Level end,if return false, it means review pops up. | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_level"></param> | 
					
						
							|  |  |  |  |     /// <param name="_win"></param> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     public bool LevelEnd(string _level, StageResult _stageResult) | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |         m_sdkInterface.LevelEnd(_level, _stageResult); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         if (_stageResult == StageResult.StageSucc) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             mPassCount++; | 
					
						
							|  |  |  |  | #if UNITY_IOS//only ios has review popup | 
					
						
							|  |  |  |  |             return !CheckReviewPop(mPassCount); | 
					
						
							|  |  |  |  | #endif | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         return true; | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     private bool CheckReviewPop(int pLevel) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         if (mHasPoppedReview) | 
					
						
							|  |  |  |  |             return false; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         if (mLoginCount == 1 && pLevel == StaticOtherConfig.FirstLoginPopLevel) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Debug.Log("pop first review"); | 
					
						
							|  |  |  |  |             mHasPoppedReview = true; | 
					
						
							|  |  |  |  |             Review(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             return true; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         else if (mLoginCount > 1 && pLevel == StaticOtherConfig.OtherLoginPopLevel) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Debug.Log("pop other review"); | 
					
						
							|  |  |  |  |             mHasPoppedReview = true; | 
					
						
							|  |  |  |  |             Review(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             return true; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         return false; | 
					
						
							|  |  |  |  |     } | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  | #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | #region Reward Ad Button Show | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Log Reward ad button show | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_pos"></param> | 
					
						
							|  |  |  |  |     public void LogRewardAdBtnShow(string _pos) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.LogRewardAdBtnShow(_pos); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | #region Tracking Event | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Log Tracking Event | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_eventType"></param> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     private void LogTrackingEvent(TrackingEventType _eventType) | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |         //m_sdkInterface.LogTrackingEvent(_eventType); | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | #region Online Config | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// get config - string | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_key"></param> | 
					
						
							|  |  |  |  |     /// <returns></returns> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     public string GetConfigStr(TKGParamKey _key) | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     { | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |         return m_sdkInterface.GetConfigStr(_key.ToString()); | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// get config - int | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_key"></param> | 
					
						
							|  |  |  |  |     /// <returns></returns> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     public int GetConfigInt(TKGParamKey _key) | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     { | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |         return m_sdkInterface.GetConfigInt(_key.ToString()); | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// get config - bool | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_key"></param> | 
					
						
							|  |  |  |  |     /// <returns></returns> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     public bool GetConfigBool(TKGParamKey _key) | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |         return m_sdkInterface.GetConfigBool(_key.ToString()); | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | #region Others (common) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// review | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     public void Review() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.Review(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     /// 使用 OpenPolicyPop 接口  === Use OpenPolicyPop | 
					
						
							|  |  |  |  |     /// 使用 OpenPolicyPop 接口  === Use OpenPolicyPop  | 
					
						
							|  |  |  |  |     /// 使用 OpenPolicyPop 接口  === Use OpenPolicyPop  | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// open privacy url | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     //public void OpenPrivacyURL() | 
					
						
							|  |  |  |  |     //{ | 
					
						
							|  |  |  |  |     //    m_sdkInterface.OpenPrivacyURL(); | 
					
						
							|  |  |  |  |     //} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// 使用 OpenPolicyPop 接口  === Use OpenPolicyPop | 
					
						
							|  |  |  |  |     /// 使用 OpenPolicyPop 接口  === Use OpenPolicyPop | 
					
						
							|  |  |  |  |     /// 使用 OpenPolicyPop 接口  === Use OpenPolicyPop  | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// open user agreement url | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     //public void OpenUserTermURL() | 
					
						
							|  |  |  |  |     //{ | 
					
						
							|  |  |  |  |     //    m_sdkInterface.OpenUserTermURL(); | 
					
						
							|  |  |  |  |     //} | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// open more game | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     public void OpenMoreGame() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.OpenMoreGame(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// open url by browser | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_url"></param> | 
					
						
							|  |  |  |  |     public void OpenUrlByBrowser(string _url) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.OpenUrlByBrowser(_url); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     public void OpenPolicyPop() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.OpenPolicyPop(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// shake | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_shakeType">0 light,1 medium,2 heavy</param> | 
					
						
							|  |  |  |  |     /// <param name="_intensity">ios 0~1, android any num</param> | 
					
						
							|  |  |  |  |     public void Shake(int _shakeType, float _intensity = 1) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.Shake(_shakeType, _intensity); | 
					
						
							|  |  |  |  |     } | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// share txt | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_shareTxt"></param> | 
					
						
							|  |  |  |  |     public void Share(string shareText) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.ShareTxt(shareText); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// regist APNS | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     public void RegistAPNS() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         m_sdkInterface.RegistAPNS(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// shake | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="notiName">notification identifier</param> | 
					
						
							|  |  |  |  |     /// <param name="body">The body of the notification.</param> | 
					
						
							|  |  |  |  |     /// <param name="fireDate">notify after the time interval. format:yyyy-MM-dd HH:mm:ss </param> | 
					
						
							|  |  |  |  |     /// <param name="badge">The application badge number.</param> | 
					
						
							|  |  |  |  |     /// <param name="title">The title of the notification.</param> | 
					
						
							|  |  |  |  |     /// <param name="subTitle">The subtitle of the notification.</param> | 
					
						
							|  |  |  |  |     public void RegistNotification(string notiId, string body, string fireDate, int badge = 1, string title = "", string subTitle = "") | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         m_sdkInterface.RegistNotification(notiId,body,fireDate,badge,title,subTitle); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// remove all notification | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     public void RemoveAllNotifications() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         m_sdkInterface.RemoveAllNotifications(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// remove notification by notification identifier | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="notiId">notification identifier</param> | 
					
						
							|  |  |  |  |     public void RemoveNotification(string notiId) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         m_sdkInterface.RemoveNotification(notiId); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |     #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     #region others | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void Toast(string text) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.Toast(text); | 
					
						
							|  |  |  |  |     } | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Set user source listener | 
					
						
							|  |  |  |  |     /// only call first can back source | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  |     /// <param name="_userSourceAction"> true : origin user,false : not origin user </param>2 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     public void SetUserSourceListener(Action<bool, string> _userSourceAction) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.SetUserSourceListener(_userSourceAction); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// Set user source listener | 
					
						
							|  |  |  |  |     /// only call first can back source | 
					
						
							|  |  |  |  |     /// with campaginName | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_userSourceAction"> true : origin user,false : not origin user </param>2 | 
					
						
							|  |  |  |  |     public void SetUserSourceListener(Action<bool, string, string> _userSourceAction) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.SetUserSourceListener(_userSourceAction); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// set common callback | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <param name="_commonCallbackAction"></param> | 
					
						
							|  |  |  |  |     public void SetTKGCommonCallback(Action<CommonCallbackCode, string> _commonCallbackAction) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         m_sdkInterface.SetTKGCommonCallback(_commonCallbackAction); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | #endregion | 
					
						
							| 
									
										
										
										
											2022-05-23 13:39:59 +00:00
										 |  |  |  | } |