| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  | #if UNITY_IOS | 
					
						
							|  |  |  |  | using System.Collections; | 
					
						
							|  |  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  |  | using UnityEngine; | 
					
						
							|  |  |  |  | using System.Runtime.InteropServices; | 
					
						
							|  |  |  |  | using System; | 
					
						
							|  |  |  |  | using Touka; | 
					
						
							|  |  |  |  | using System.Text; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | public class TGiOSAdManager : MonoBehaviour | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     private static TGiOSAdManager s_instance; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public Action onAntiSuccessHander; | 
					
						
							|  |  |  |  |     private System.Action<bool, string> m_userSourceCallback; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public static TGiOSAdManager Instance | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         get | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (s_instance == null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 GameObject TGGameObject = new GameObject | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     name = "AdObject" | 
					
						
							|  |  |  |  |                 }; | 
					
						
							|  |  |  |  |                 s_instance = TGGameObject.AddComponent<TGiOSAdManager>(); | 
					
						
							|  |  |  |  |                 DontDestroyOnLoad(TGGameObject); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return s_instance; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void InitSDK() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         // 暂停恢复声音 | 
					
						
							|  |  |  |  |         pauseGameDelegate handler = new pauseGameDelegate(pauseGameHandle); | 
					
						
							|  |  |  |  |         IntPtr pauseGame = Marshal.GetFunctionPointerForDelegate(handler); | 
					
						
							|  |  |  |  |         pauseGameCallback(pauseGame); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         // 初始化设置 | 
					
						
							|  |  |  |  |         initSDKDelegate inithandler = new initSDKDelegate(initSDKHandle); | 
					
						
							|  |  |  |  |         IntPtr initSdk = Marshal.GetFunctionPointerForDelegate(inithandler); | 
					
						
							|  |  |  |  |         initSDKCallback(initSdk); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         // 用户来源设置 | 
					
						
							|  |  |  |  |         TKG_UsersourceDelegate usHandler = new TKG_UsersourceDelegate(userSourceHandle); | 
					
						
							|  |  |  |  |         IntPtr us = Marshal.GetFunctionPointerForDelegate(usHandler); | 
					
						
							|  |  |  |  |         userSourceCallback(us); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         // rv close  | 
					
						
							|  |  |  |  |         rewardCloseDelegate rvCloseHandler = new rewardCloseDelegate(rewardAdCloseHandle); | 
					
						
							|  |  |  |  |         IntPtr rewardClose = Marshal.GetFunctionPointerForDelegate(rvCloseHandler); | 
					
						
							|  |  |  |  |         rewardAdCloseCallback(rewardClose); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         // show fail | 
					
						
							|  |  |  |  |         rewardShowFailDelegate rvfailHandler = new rewardShowFailDelegate(rewardAdShowFailHandle); | 
					
						
							|  |  |  |  |         IntPtr rewardShowFail = Marshal.GetFunctionPointerForDelegate(rvfailHandler); | 
					
						
							|  |  |  |  |         rewardAdShowFailCallback(rewardShowFail); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         // iv close | 
					
						
							|  |  |  |  |         interCloseDelegate ivCloseHandler = new interCloseDelegate(interAdCloseHandle); | 
					
						
							|  |  |  |  |         IntPtr interClose = Marshal.GetFunctionPointerForDelegate(ivCloseHandler); | 
					
						
							|  |  |  |  |         interAdCloseCallback(interClose); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         // rv click | 
					
						
							|  |  |  |  |         rewardClickDelegate rvClickHandler = new rewardClickDelegate(rewardAdClickHandle); | 
					
						
							|  |  |  |  |         IntPtr rvClick = Marshal.GetFunctionPointerForDelegate(rvClickHandler); | 
					
						
							|  |  |  |  |         rewardAdClickCallback(rvClick); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         TKG_InitSDK(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  |     // 通知 | 
					
						
							|  |  |  |  |     public void registAPNS() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_RegistAPNS(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void registNotification(string notiId, string body, string fireDate, int badge, string title, string subTitle) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_RegistNotification(notiId,body,fireDate,badge,title,subTitle); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void removeNotification(string notiId) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_RemoveNotification(notiId); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void removeAllNotifications() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_RemoveAllNotification(); | 
					
						
							|  |  |  |  |     } | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     // 震动 | 
					
						
							|  |  |  |  |     public void shake(int mType, float mIntensity = 1) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_Shake(mType,mIntensity); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  |     public void share(string _shareText) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_Share(_shareText); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     // ads | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void RemoveAllAds() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_RemoveAds(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     //banner | 
					
						
							|  |  |  |  |     public void LoadBanner() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_LoadBanner(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public bool IsReadyBanner() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         return TKG_IsReadyBanner(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void ShowBanner(int align) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_ShowBanner(align); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void HideBanner() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_HideBanner(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // iv | 
					
						
							|  |  |  |  |     public void LoadIntersititial() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_LoadIntersititial(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public bool IsReadyIntersititial() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         return TKG_IsReadyIntersititial(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void ShowIntersititial(string _adPos, int ivType) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_ShowIntersititial(_adPos,ivType); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // rv | 
					
						
							|  |  |  |  |     public void LoadRewardVideo() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_LoadRewardVideo(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public bool IsReadyRewardVideo() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         return TKG_IsReadyRewardVideo(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void ShowRewardVideo(string adPos) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |          | 
					
						
							|  |  |  |  |         TKG_ShowRewardVideo(adPos); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  |     public void ShowSDKToast(bool _show) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_ShowSDKToast(_show); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     // native | 
					
						
							|  |  |  |  |     public void LoadNative(float width, float height) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_LoadNative(width, height); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public bool IsReadyNative() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         return TKG_IsReadyNative(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void ShowNative(RectTransform pRect, Camera pCam = null, string pAdPos = "") | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_TurnNativePosition(pRect, pCam, pAdPos); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void RemoveNative() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_RemoveNative(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // other  | 
					
						
							|  |  |  |  |     public void Review() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_Review(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void OpenPrivacyURL() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_OpenPrivacyURL(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void OpenUserTermURL() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_OpenUserTermURL(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void OpenPolicyPop() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_OpenPolicyPop(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |     public void OpenMoreGame() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_OpenMoreGame(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  |     public void Toast(string content) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_Toast(content); | 
					
						
							|  |  |  |  |     } | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |     // 在线参数 | 
					
						
							|  |  |  |  |     public int GetConfigInt(string key, int defaultValue) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         return TKG_GetConfigInt(key, defaultValue); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public string GetConfigString(string key, string defaultValue) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         return TKG_GetConfigString(key, defaultValue); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public bool GetConfigBool(string key, bool defaultValue) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         return TKG_GetConfigBool(key, defaultValue); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // 游戏事件上报 | 
					
						
							|  |  |  |  |     public void onEvent_GameStart(string levelId) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_OnEvent_GameStart(levelId); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void onEvent_GameEnd(string levelId, int result) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_OnEvent_GameEnd(levelId,result); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // umeng 事件上报 | 
					
						
							|  |  |  |  |     public void onEvent_UMeng(string eventSort) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_OnEvent_UMeng1(eventSort); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void onEvent_UMeng(string eventSort, Dictionary<string, string> _keyValues) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_OnEvent_UMeng2(eventSort, TKG_DictionaryToJson(_keyValues)); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void onEvent_UMeng(string eventSort,string key,string value) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_OnEvent_UMeng3(eventSort,key,value); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void onEvent_UMeng(string eventSort, string key1, string value1,string key2,string value2) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_OnEvent_UMeng4(eventSort, key1, value1,key2,value2); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // tenjin事件上报 | 
					
						
							|  |  |  |  |     public void onEvent_Tenjin(int eventType) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_OnEvent_Tenjin(eventType); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // unity 字典转 json string | 
					
						
							|  |  |  |  |     static string TKG_DictionaryToJson(Dictionary<string, string> dict) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         var builder = new StringBuilder("{"); | 
					
						
							|  |  |  |  |         foreach (KeyValuePair<string, string> kv in dict) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             builder.AppendFormat("\"{0}\":\"{1}\",", kv.Key, kv.Value); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         builder[builder.Length - 1] = '}'; | 
					
						
							|  |  |  |  |         return builder.ToString(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // 坐标转换 | 
					
						
							|  |  |  |  |     public void TKG_TurnNativePosition(RectTransform pRect, Camera pCam = null, string pAdPos = "") | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         Vector3[] tWorldCorners = new Vector3[4]; | 
					
						
							|  |  |  |  |         pRect.GetWorldCorners(tWorldCorners); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         Vector2 tTopLeft = RectTransformUtility.WorldToScreenPoint(pCam, tWorldCorners[1]); | 
					
						
							|  |  |  |  |         Vector2 tBottomRight = RectTransformUtility.WorldToScreenPoint(pCam, tWorldCorners[3]); | 
					
						
							|  |  |  |  |         float tWidth = Mathf.Abs(tBottomRight.x - tTopLeft.x); | 
					
						
							|  |  |  |  |         float tHeight = Mathf.Abs(tBottomRight.y - tTopLeft.y); | 
					
						
							|  |  |  |  |         //Debug.Log("x:" + tTopLeft.x + "y:" + (Screen.height - tTopLeft.y) + "width" + tWidth + "hei:" + tHeight); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         TKG_ShowNative(tTopLeft.x, Screen.height - tTopLeft.y, tWidth, tHeight, pAdPos); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // callback  | 
					
						
							|  |  |  |  |     // iv  callback | 
					
						
							|  |  |  |  |     [UnmanagedFunctionPointer(CallingConvention.Cdecl)] | 
					
						
							|  |  |  |  |     public delegate void interCloseDelegate(); | 
					
						
							|  |  |  |  |     [AOT.MonoPInvokeCallback(typeof(interCloseDelegate))] | 
					
						
							|  |  |  |  |     static void interAdCloseHandle() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         if (TKGSDKCallback.mInterAdCallback != null) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             TKGSDKCallback.mInterAdCallback.Invoke(); | 
					
						
							|  |  |  |  |             TKGSDKCallback.mInterAdCallback = null; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // rv close-reward callback | 
					
						
							|  |  |  |  |     [UnmanagedFunctionPointer(CallingConvention.Cdecl)] | 
					
						
							|  |  |  |  |     public delegate void rewardCloseDelegate(bool isReward); | 
					
						
							|  |  |  |  |     [AOT.MonoPInvokeCallback(typeof(rewardCloseDelegate))] | 
					
						
							|  |  |  |  |     static void rewardAdCloseHandle(bool isReward) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         if (isReward) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (TKGSDKCallback.mRewardCallback != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 TKGSDKCallback.mRewardCallback.Invoke(true); | 
					
						
							|  |  |  |  |                 TKGSDKCallback.mRewardCallback = null; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         else | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (TKGSDKCallback.mRewardCallback != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 TKGSDKCallback.mRewardCallback.Invoke(false); | 
					
						
							|  |  |  |  |                 TKGSDKCallback.mRewardCallback = null; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // rv show fail callback | 
					
						
							|  |  |  |  |     [UnmanagedFunctionPointer(CallingConvention.Cdecl)] | 
					
						
							|  |  |  |  |     public delegate void rewardShowFailDelegate(); | 
					
						
							|  |  |  |  |     [AOT.MonoPInvokeCallback(typeof(rewardShowFailDelegate))] | 
					
						
							|  |  |  |  |     static void rewardAdShowFailHandle() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         if (TKGSDKCallback.mRewardShowFailedCallback != null) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             TKGSDKCallback.mRewardShowFailedCallback(); | 
					
						
							|  |  |  |  |             TKGSDKCallback.mRewardShowFailedCallback = null; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // rv click callback | 
					
						
							|  |  |  |  |     [UnmanagedFunctionPointer(CallingConvention.Cdecl)] | 
					
						
							|  |  |  |  |     public delegate void rewardClickDelegate(); | 
					
						
							|  |  |  |  |     [AOT.MonoPInvokeCallback(typeof(rewardClickDelegate))] | 
					
						
							|  |  |  |  |     static void rewardAdClickHandle() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         if (TKGSDKCallback.mRewardClickCallback != null) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             TKGSDKCallback.mRewardClickCallback(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // pause game | 
					
						
							|  |  |  |  |     [UnmanagedFunctionPointer(CallingConvention.Cdecl)] | 
					
						
							|  |  |  |  |     public delegate void pauseGameDelegate(bool m_pause); | 
					
						
							|  |  |  |  |     [AOT.MonoPInvokeCallback(typeof(pauseGameDelegate))] | 
					
						
							|  |  |  |  |     static void pauseGameHandle(bool m_pause) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKGSDKCallback.mGameFocusCallback?.Invoke(!m_pause); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // init sdk | 
					
						
							|  |  |  |  |     [UnmanagedFunctionPointer(CallingConvention.Cdecl)] | 
					
						
							|  |  |  |  |     public delegate void initSDKDelegate(); | 
					
						
							|  |  |  |  |     [AOT.MonoPInvokeCallback(typeof(initSDKDelegate))] | 
					
						
							|  |  |  |  |     static void initSDKHandle() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         if (TKGSDKCallback.mInitCallback != null) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             TKGSDKCallback.mInitCallback(); | 
					
						
							|  |  |  |  |             TKGSDKCallback.mInitCallback = null; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // user source | 
					
						
							|  |  |  |  |     [UnmanagedFunctionPointer(CallingConvention.Cdecl)] | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  |     public delegate void TKG_UsersourceDelegate(bool isOrganic,string source,string campaignName); | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     [AOT.MonoPInvokeCallback(typeof(TKG_UsersourceDelegate))] | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  |     static void userSourceHandle(bool isOrganic, string source,string campaignName) | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     { | 
					
						
							|  |  |  |  |         if (TKGSDKCallback.mTKGUserSourceCallback != null) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             TKGSDKCallback.mTKGUserSourceCallback(isOrganic,source); | 
					
						
							|  |  |  |  |             TKGSDKCallback.mTKGUserSourceCallback = null; | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         if (TKGSDKCallback.mTKGUserSourceCallbackWithCampaignName != null) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             TKGSDKCallback.mTKGUserSourceCallbackWithCampaignName(isOrganic,source, campaignName); | 
					
						
							|  |  |  |  |             TKGSDKCallback.mTKGUserSourceCallbackWithCampaignName = null; | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // dll | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_Shake(int mType, float mIntensity); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_Share(string text); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_InitSDK(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // event umeng | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_OnEvent_UMeng1(string s1); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_OnEvent_UMeng2(string s1, string s2); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_OnEvent_UMeng3(string s1, string key, string value); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_OnEvent_UMeng4(string s1, string key1, string value1, string key2, string value2); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // event tenjin | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_OnEvent_Tenjin(int eventType); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // event game | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_OnEvent_GameStart(string levelId); | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_OnEvent_GameEnd(string levelId, int result); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // other | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_Review(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_OpenPrivacyURL(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_OpenUserTermURL(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_OpenPolicyPop(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_OpenMoreGame(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_Toast(string str); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     // ads | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_LoadBanner(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern bool TKG_IsReadyBanner(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_ShowBanner(int align); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_HideBanner(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_LoadIntersititial(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern bool TKG_IsReadyIntersititial(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_ShowIntersititial(string adPos,int ivType); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_LoadRewardVideo(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern bool TKG_IsReadyRewardVideo(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_ShowRewardVideo(string adPos); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_ShowSDKToast(bool _show); | 
					
						
							|  |  |  |  |      | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_LoadNative(float width, float height); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern bool TKG_IsReadyNative(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_ShowNative(float x, float y, float w, float h, string adPos); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_RemoveNative(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // remote config | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern int TKG_GetConfigInt(string key, int defaultValue); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern string TKG_GetConfigString(string key, string defaultValue); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern bool TKG_GetConfigBool(string key, bool defaultValue); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern bool TKG_SetLogged(bool enable); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern bool TKG_RemoveAds(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // callback | 
					
						
							|  |  |  |  |     // iv close | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     public static extern void interAdCloseCallback( | 
					
						
							|  |  |  |  |         IntPtr interClose | 
					
						
							|  |  |  |  |     ); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // rv close | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     public static extern void rewardAdCloseCallback( | 
					
						
							|  |  |  |  |         IntPtr rewardClose | 
					
						
							|  |  |  |  |     ); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // rv click | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     public static extern void rewardAdClickCallback( | 
					
						
							|  |  |  |  |         IntPtr rewardClick | 
					
						
							|  |  |  |  |     ); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // rv show fail | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     public static extern void rewardAdShowFailCallback( | 
					
						
							|  |  |  |  |         IntPtr rewardShowFail | 
					
						
							|  |  |  |  |     ); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // pause game | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     public static extern void pauseGameCallback( | 
					
						
							|  |  |  |  |         IntPtr pauseGame | 
					
						
							|  |  |  |  |     ); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // init sdk | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     public static extern void initSDKCallback( | 
					
						
							|  |  |  |  |         IntPtr initSdk | 
					
						
							|  |  |  |  |     ); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // user source | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     public static extern void userSourceCallback( | 
					
						
							|  |  |  |  |         IntPtr userSource | 
					
						
							|  |  |  |  |     ); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // 设置unity版本 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							| 
									
										
										
										
											2022-08-30 05:43:52 +00:00
										 |  |  |  |     private static extern void TKG_SetUnityVersion(string version); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // 通知 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_RegistAPNS(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_RemoveAllNotification(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_RemoveNotification(string notiId); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     [DllImport("__Internal")] | 
					
						
							|  |  |  |  |     private static extern void TKG_RegistNotification(string notiId, string body, string fireDate, int badge, string title, string subTitle); | 
					
						
							| 
									
										
										
										
											2022-08-30 02:21:29 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |     // ============================ old sdk todo  ======================== | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     //设置log开关 | 
					
						
							|  |  |  |  |     public void SetLogEnable(bool enable) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_SetLogged(enable); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public void SetUnitySDKVersion(string version) | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TKG_SetUnityVersion(version); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | #endif |