373 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			373 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | 
 | |||
|  | namespace Touka | |||
|  | { | |||
|  |     /// <summary> | |||
|  |     /// TKG Native SDK interface call | |||
|  |     /// </summary> | |||
|  |     public abstract class TKGNativeInterface | |||
|  |     { | |||
|  |         private static TKGNativeInterface _instance; | |||
|  | 
 | |||
|  |         public static TKGNativeInterface Instance | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 if (_instance == null) | |||
|  |                 { | |||
|  | #if UNITY_EDITOR || UNITY_STANDLONE | |||
|  |                     _instance = new TKGNativeInterfaceDefault(); | |||
|  | #elif UNITY_ANDROID | |||
|  |                 _instance = new TKGNativeInterfaceAndroid(); | |||
|  | #elif UNITY_IOS | |||
|  |                 _instance = new TKGNativeInterfaceIOS(); | |||
|  | #endif | |||
|  |                 } | |||
|  | 
 | |||
|  |                 return _instance; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// init | |||
|  |         /// </summary> | |||
|  |         public virtual void Init(Action _initCallback = null) | |||
|  |         { | |||
|  |             TKGSDKCallback.SetInitCallback(_initCallback); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Set game focus | |||
|  |         /// </summary> | |||
|  |         /// <param name="_gameFocusAction"></param> | |||
|  |         public virtual void SetGameFocusListener(Action<bool> _gameFocusAction) | |||
|  |         { | |||
|  |             TKGSDKCallback.SetGameFocusCallback(_gameFocusAction); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Get Channel | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public abstract string GetChannel(); | |||
|  | 
 | |||
|  |         #region Ads | |||
|  | 
 | |||
|  |         #region Ads Show | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Show banner Ad | |||
|  |         /// </summary> | |||
|  |         /// <param name="_pos"> banner pos, 1:Top;2:Bottom </param> | |||
|  |         public abstract void showBannerAd(int _pos); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Hide Banner Ad | |||
|  |         /// </summary> | |||
|  |         public abstract void hideBannerAd(); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Show Interstitial Ad | |||
|  |         /// | |||
|  |         /// auto log event : iv_ad_show | |||
|  |         /// </summary> | |||
|  |         public abstract void showInterstitialAd(); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Show Interstitial Ad | |||
|  |         /// | |||
|  |         /// auto log event : iv_ad_show & _adPos(eg.stage_end) | |||
|  |         /// </summary> | |||
|  |         /// <param name="_position"></param> | |||
|  |         public abstract void showInterstitialAd(string _adPos, IVADType _IvType = IVADType.IV1); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Show Reward Ad | |||
|  |         /// </summary> | |||
|  |         /// <param name="_adPos"></param> | |||
|  |         /// <param name="_itemCount"></param> | |||
|  |         public abstract void showRewardAd(string _adPos, int _itemCount = -1); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Show Reward Ad | |||
|  |         /// </summary> | |||
|  |         /// <param name="_adPos"></param> | |||
|  |         /// <param name="_itemCount"></param> | |||
|  |         /// <param name="_extraEvent"></param> | |||
|  |         public abstract void showRewardAd(string _adPos, int _itemCount, Dictionary<string, string> _extraEvent); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Show Video Ad | |||
|  |         /// </summary> | |||
|  |         /// <param name="_adPos"></param> | |||
|  |         /// <param name="_itemCount"></param> | |||
|  |         public abstract void showVideoAd(string _adPos, int _itemCount = -1); | |||
|  | 
 | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region Ads isready | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// banner isReady | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public abstract bool isBannerAdReady(); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Interstitial isReady | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public abstract bool isInterstitialAdReady(); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Reward isReady | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public abstract bool isRewardAdReady(); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// FullScreen isReady | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public abstract bool isVideoAdReady(); | |||
|  | 
 | |||
|  | 
 | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region Set Ads callback | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Set Banner Ad Callback | |||
|  |         /// </summary> | |||
|  |         /// <param name="_bannerCallback"></param> | |||
|  |         public abstract void SetBannerAdCallback(AndroidBannerADTKGAdCallback _bannerCallback); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Set Interstital Ad Callback | |||
|  |         /// </summary> | |||
|  |         /// <param name="_interCallback"></param> | |||
|  |         public abstract void setInterstitalAdCallback(AndroidInterADTKGAdCallback _interCallback); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Set reward Ad Callback | |||
|  |         /// </summary> | |||
|  |         /// <param name="_rewardCallback"></param> | |||
|  |         public abstract void SetRewardAdCallback(AndroidRewardADTKGAdCallback _rewardCallback); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Set video Ad Callback(full screen ad, reward ad with no reward callback) | |||
|  |         /// </summary> | |||
|  |         /// <param name="_videoCallback"></param> | |||
|  |         public abstract void setVideoAdCallback(AndroidInterADTKGAdCallback _videoCallback); | |||
|  | 
 | |||
|  | 
 | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region load ads | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// load interstitial ad | |||
|  |         /// (retry 3 times, per time interval 10s) | |||
|  |         /// </summary> | |||
|  |         public abstract void loadInterstitialAD(); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// load reward ad | |||
|  |         /// (retry 3 times, per time interval 10s) | |||
|  |         /// </summary> | |||
|  |         public abstract void loadRewardAD(); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// load video ad | |||
|  |         /// (retry 3 times, per time interval 10s) | |||
|  |         /// </summary> | |||
|  |         public abstract void loadVideoAD(); | |||
|  | 
 | |||
|  |         #endregion | |||
|  | 
 | |||
|  | 
 | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region Log Event | |||
|  | 
 | |||
|  |         #region Normal | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// onEvent | |||
|  |         /// </summary> | |||
|  |         /// <param name="_eventName"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public abstract void onEvent(string _eventName); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// onEvent | |||
|  |         /// </summary> | |||
|  |         /// <param name="_eventName"></param> | |||
|  |         /// <param name="_key01"></param> | |||
|  |         /// <param name="_value01"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public abstract void onEvent(string _eventName, string _key01, string _value01); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// onEvent | |||
|  |         /// </summary> | |||
|  |         /// <param name="_eventName"></param> | |||
|  |         /// <param name="key01"></param> | |||
|  |         /// <param name="_value01"></param> | |||
|  |         /// <param name="_key02"></param> | |||
|  |         /// <param name="_value02"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public abstract void onEvent(string _eventName, string _key01, string _value01, string _key02, string _value02); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// onEvent | |||
|  |         /// </summary> | |||
|  |         /// <param name="_eventName"></param> | |||
|  |         /// <param name="_keyValues"></param> | |||
|  |         public abstract void onEvent(string _eventName, Dictionary<string, string> _keyValues); | |||
|  | 
 | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region Level Event | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Level Start | |||
|  |         /// </summary> | |||
|  |         /// <param name="_levelId"></param> | |||
|  |         public abstract void LevelStart(string _levelId); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Level end | |||
|  |         /// </summary> | |||
|  |         /// <param name="_levelId"></param> | |||
|  |         public abstract void LevelEnd(string _levelId, bool _isSucc); | |||
|  | 
 | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region Tracking Event | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Log Tracking Event | |||
|  |         /// </summary> | |||
|  |         /// <param name="_eventType"></param> | |||
|  |         public abstract void LogTrackingEvent(TrackingEventType _eventType); | |||
|  | 
 | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region Online Config | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// get config - int | |||
|  |         /// </summary> | |||
|  |         /// <param name="_key"></param> | |||
|  |         /// <param name="_defaultValue"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public abstract int GetConfigInt(string _key, int _defaultValue); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// get config - string | |||
|  |         /// </summary> | |||
|  |         /// <param name="_key"></param> | |||
|  |         /// <param name="_defaultValue"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public abstract string GetConfigString(string _key, string _defaultValue); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// get config - bool | |||
|  |         /// </summary> | |||
|  |         /// <param name="_key"></param> | |||
|  |         /// <param name="_defaultValue"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public abstract bool GetConfigBool(string _key, bool _defaultValue); | |||
|  | 
 | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region Others (Common) | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// review | |||
|  |         /// </summary> | |||
|  |         public abstract void Review(); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// open Privacy url | |||
|  |         /// </summary> | |||
|  |         public abstract void OpenPrivacyURL(); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// open user term url | |||
|  |         /// </summary> | |||
|  |         public abstract void OpenUserTermURL(); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// open policy pop | |||
|  |         /// </summary> | |||
|  |         public abstract void OpenPolicyPop(); | |||
|  | 
 | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// More Games | |||
|  |         /// </summary> | |||
|  |         public abstract void OpenMoreGame(); | |||
|  | 
 | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region Others (Uncommon) | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// shake(no repeat) | |||
|  |         /// </summary> | |||
|  |         /// <param name="_shakeTime"> shake time </param> | |||
|  |         public abstract void shake(int _shakeType, float _intensity = 1); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// shake(can repeat) | |||
|  |         /// </summary> | |||
|  |         /// <param name="_repeatTimes"> repeat times : -1 </param> | |||
|  |         /// <param name="_shakeTime"> wait time,shake time(100,1000,100,111)</param> | |||
|  |         //public abstract void shake(int _repeatTimes, params int[] _shakeTime); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// cancel shake | |||
|  |         /// </summary> | |||
|  |         public abstract void cancelShake(); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Show Tips | |||
|  |         /// Pop-up prompt (the one with black transparent background) unified style, Chinese, Japanese, Korean and English, support multi-language, multi-language text | |||
|  |         /// | |||
|  |         /// game judges different languages by itself and passes different strings | |||
|  |         /// </summary> | |||
|  |         /// <param name="_titleStr"> title </param> | |||
|  |         /// <param name="_contentStr"> content </param> | |||
|  |         public abstract void dialogTips(string _titleStr, string _contentStr); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Open ULR by Browser | |||
|  |         /// </summary> | |||
|  |         /// <param name="_url"></param> | |||
|  |         public abstract void openUrlBrowser(string _url); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Open ULR By WEB POP | |||
|  |         /// </summary> | |||
|  |         /// <param name="_url"></param> | |||
|  |         public abstract void openWebUrl(string _url); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// show Toast | |||
|  |         /// </summary> | |||
|  |         /// <param name="_content"></param> | |||
|  |         public abstract void toast(string _content); | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// push message | |||
|  |         /// </summary> | |||
|  |         public abstract void pushMsg(); | |||
|  | 
 | |||
|  |         #endregion | |||
|  |     } | |||
|  | } |