535 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			535 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | #if UNITY_ANDROID | |||
|  | 
 | |||
|  | using System; | |||
|  | using System.Collections; | |||
|  | using System.Collections.Generic; | |||
|  | using UnityEngine; | |||
|  | 
 | |||
|  | namespace Touka | |||
|  | { | |||
|  |     /// <summary> | |||
|  |     /// TKG Native SDK Android platform interface call | |||
|  |     /// </summary> | |||
|  |     public class TKGNativeInterfaceAndroid : TKGNativeInterface | |||
|  |     { | |||
|  | 
 | |||
|  |         private AndroidJavaObject jo; | |||
|  | 
 | |||
|  |         public TKGNativeInterfaceAndroid() | |||
|  |         { | |||
|  |             // java interface class | |||
|  |             using (AndroidJavaClass jc = new AndroidJavaClass("com.touka.tkg.TKGProxyJava")) | |||
|  |             { | |||
|  |                 jo = jc.CallStatic<AndroidJavaObject>("getInstance"); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         private T SDKCall<T>(string _method, params object[] _param) | |||
|  |         { | |||
|  |             try | |||
|  |             { | |||
|  |                 return jo.Call<T>(_method, _param); | |||
|  |             } | |||
|  |             catch (Exception e) | |||
|  |             { | |||
|  |                 Debug.LogError(e); | |||
|  |             } | |||
|  |             return default(T); | |||
|  |         } | |||
|  | 
 | |||
|  |         private void SDKCall(string _method, params object[] _param) | |||
|  |         { | |||
|  |             try | |||
|  |             { | |||
|  |                 jo.Call(_method, _param); | |||
|  |             } | |||
|  |             catch (Exception e) | |||
|  |             { | |||
|  |                 Debug.LogError(e); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  | #region init | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// init | |||
|  |         /// </summary> | |||
|  |         /// <param name="_initCallback"></param> | |||
|  |         public override void Init(Action _initCallback = null) | |||
|  |         { | |||
|  |             Debug.Log("init ----- 00"); | |||
|  |             base.Init(_initCallback); | |||
|  |             Debug.Log("init ----- 01"); | |||
|  |             SetBannerAdCallback(new AndroidBannerADTKGAdCallback()); | |||
|  |             Debug.Log("init ----- 01 ------- a"); | |||
|  |             setInterstitalAdCallback(new AndroidInterADTKGAdCallback()); | |||
|  |             Debug.Log("init ----- 01 ------- b"); | |||
|  |             SetRewardAdCallback(new AndroidRewardADTKGAdCallback()); | |||
|  |             Debug.Log("init ----- 01 ------- c"); | |||
|  |             SDKCall("init", new AndroidProxyCallback()); | |||
|  |             Debug.Log("init ----- 02"); | |||
|  |         } | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Get Channel | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public override string GetChannel() | |||
|  |         { | |||
|  |             return SDKCall<string>("getChannel"); | |||
|  |         } | |||
|  | 
 | |||
|  | #region Ads | |||
|  | 
 | |||
|  | #region Ads Show | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Show banner Ad | |||
|  |         /// </summary> | |||
|  |         /// <param name="_pos"> banner pos, 1:Top;2:Bottom </param> | |||
|  |         public override void showBannerAd(int _pos) | |||
|  |         { | |||
|  |             SDKCall("showBannerAd", _pos); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Hide Banner Ad | |||
|  |         /// </summary> | |||
|  |         public override void hideBannerAd() | |||
|  |         { | |||
|  |             SDKCall("hideBannerAd"); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Show Interstitial Ad | |||
|  |         /// </summary> | |||
|  |         public override void showInterstitialAd() | |||
|  |         { | |||
|  |             SDKCall("showInterstitialAd"); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Show Interstitial Ad | |||
|  |         /// </summary> | |||
|  |         /// <param name="_adPos"></param> | |||
|  |         public override void showInterstitialAd(string _adPos, IVADType _IvType = IVADType.IV1) | |||
|  |         { | |||
|  |             SDKCall("showInterstitialAd", _adPos, (int)_IvType); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Show Reward Ad | |||
|  |         /// </summary> | |||
|  |         /// <param name="_adPos"></param> | |||
|  |         /// <param name="_itemCount"></param> | |||
|  |         public override void showRewardAd(string _adPos, int _itemCount = -1) | |||
|  |         { | |||
|  |             SDKCall("showRewardAd", _adPos, _itemCount); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Show Reward Ad | |||
|  |         /// </summary> | |||
|  |         /// <param name="_adPos"></param> | |||
|  |         /// <param name="_itemCount"></param> | |||
|  |         /// <param name="_extraEvent"></param> | |||
|  |         public override void showRewardAd(string _adPos, int _itemCount, Dictionary<string, string> _extraEvent) | |||
|  |         { | |||
|  |             SDKCall("showRewardAd", _adPos, _itemCount, _extraEvent); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Show Video Ad | |||
|  |         /// </summary> | |||
|  |         /// <param name="_adPos"></param> | |||
|  |         /// <param name="_itemCount"></param> | |||
|  |         public override void showVideoAd(string _adPos, int _itemCount = -1) | |||
|  |         { | |||
|  |             SDKCall("showVideoAd", _adPos, _itemCount); | |||
|  |         } | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | 
 | |||
|  | #region Ads isready | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// banner isReady | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public override bool isBannerAdReady() | |||
|  |         { | |||
|  |             bool isReady = SDKCall<bool>("isBannerAdReady"); | |||
|  |             return isReady; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Interstitial isReady | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public override bool isInterstitialAdReady() | |||
|  |         { | |||
|  |             bool isReady = SDKCall<bool>("isInterstitialAdReady"); | |||
|  |             return isReady; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Reward isReady | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public override bool isRewardAdReady() | |||
|  |         { | |||
|  |             bool isReady = SDKCall<bool>("isRewardAdReady"); | |||
|  |             return isReady; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// FullScreen isReady | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public override bool isVideoAdReady() | |||
|  |         { | |||
|  |             bool isReady = SDKCall<bool>("isVideoAdReady"); | |||
|  |             return isReady; | |||
|  |         } | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #region Set ads callback | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Set Banner Ad Callback | |||
|  |         /// </summary> | |||
|  |         /// <param name="_bannerCallback"></param> | |||
|  |         public override void SetBannerAdCallback(AndroidBannerADTKGAdCallback _bannerCallback) | |||
|  |         { | |||
|  |             SDKCall("setBannerAdCallback", _bannerCallback); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Set Interstital Ad Callback | |||
|  |         /// </summary> | |||
|  |         /// <param name="_interCallback"></param> | |||
|  |         public override void setInterstitalAdCallback(AndroidInterADTKGAdCallback _interCallback) | |||
|  |         { | |||
|  |             SDKCall("setInterstitalAdCallback", _interCallback); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Set reward Ad Callback | |||
|  |         /// </summary> | |||
|  |         /// <param name="_rewardCallback"></param> | |||
|  |         public override void SetRewardAdCallback(AndroidRewardADTKGAdCallback _rewardCallback) | |||
|  |         { | |||
|  |             SDKCall("setRewardAdCallback", _rewardCallback); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Set video Ad Callback(full screen ad, reward ad with no reward callback) | |||
|  |         /// </summary> | |||
|  |         /// <param name="_videoCallback"></param> | |||
|  |         public override void setVideoAdCallback(AndroidInterADTKGAdCallback _videoCallback) | |||
|  |         { | |||
|  |             SDKCall("setVideoAdCallback", _videoCallback); | |||
|  |         } | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #region load ads | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// load interstitial ad | |||
|  |         /// (retry 3 times, per time interval 10s) | |||
|  |         /// </summary> | |||
|  |         public override void loadInterstitialAD() | |||
|  |         { | |||
|  |             SDKCall("loadInterstitialAD"); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// load reward ad | |||
|  |         /// (retry 3 times, per time interval 10s) | |||
|  |         /// </summary> | |||
|  |         public override void loadRewardAD() | |||
|  |         { | |||
|  |             SDKCall("loadRewardAD"); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// load video ad | |||
|  |         /// (retry 3 times, per time interval 10s) | |||
|  |         /// </summary> | |||
|  |         public override void loadVideoAD() | |||
|  |         { | |||
|  |             SDKCall("loadVideoAD"); | |||
|  |         } | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | 
 | |||
|  | #region Log Event | |||
|  | 
 | |||
|  | #region Normal | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// onEvent | |||
|  |         /// </summary> | |||
|  |         /// <param name="_eventName"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public override void onEvent(string _eventName) | |||
|  |         { | |||
|  |             SDKCall("onEvent", _eventName); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// onEvent | |||
|  |         /// </summary> | |||
|  |         /// <param name="_eventName"></param> | |||
|  |         /// <param name="_key01"></param> | |||
|  |         /// <param name="_value01"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public override void onEvent(string _eventName, string _key01, string _value01) | |||
|  |         { | |||
|  |             SDKCall("onEvent", _eventName, _key01, _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 override void onEvent(string _eventName, string _key01, string _value01, string _key02, string _value02) | |||
|  |         { | |||
|  |             SDKCall("onEvent", _eventName, _key01, _value01, _key02, _value02); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// onEvent | |||
|  |         /// </summary> | |||
|  |         /// <param name="_eventName"></param> | |||
|  |         /// <param name="_keyValues"></param> | |||
|  |         public override void onEvent(string _eventName, Dictionary<string, string> _keyValues) | |||
|  |         { | |||
|  |             SDKCall("onEvent", _eventName, Analytics.ToJavaHashMap(_keyValues)); | |||
|  |         } | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #region Level Event | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Level Start | |||
|  |         /// </summary> | |||
|  |         /// <param name="_levelId"></param> | |||
|  |         public override void LevelStart(string _levelId) | |||
|  |         { | |||
|  |             SDKCall("levelStart", _levelId); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Level end | |||
|  |         /// </summary> | |||
|  |         /// <param name="_levelId"></param> | |||
|  |         public override void LevelEnd(string _levelId, bool _isSucc) | |||
|  |         { | |||
|  |             SDKCall("levelEnd", _levelId, _isSucc); | |||
|  |         } | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #region Tracking Event | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Log Tracking Event | |||
|  |         /// </summary> | |||
|  |         /// <param name="_eventType"></param> | |||
|  |         public override void LogTrackingEvent(TrackingEventType _eventType) | |||
|  |         { | |||
|  |             SDKCall("LogTrackingEvent", (int)_eventType); | |||
|  |         } | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #region Online Config | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// get config - int | |||
|  |         /// </summary> | |||
|  |         /// <param name="_key"></param> | |||
|  |         /// <param name="_defaultValue"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public override int GetConfigInt(string _key, int _defaultValue) | |||
|  |         { | |||
|  |             Debug.Log("int _key : " + _key + " , _defaultValue : " + _defaultValue); | |||
|  |             int newValue = SDKCall<int>("getConfigInt", _key, _defaultValue); | |||
|  |             return newValue; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// get config - string | |||
|  |         /// </summary> | |||
|  |         /// <param name="_key"></param> | |||
|  |         /// <param name="_defaultValue"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public override string GetConfigString(string _key, string _defaultValue) | |||
|  |         { | |||
|  |             Debug.Log("string _key : " + _key + " , _defaultValue : " + _defaultValue); | |||
|  |             string newValue = SDKCall<string>("getConfigString", _key, _defaultValue); | |||
|  |             return newValue; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// get config - bool | |||
|  |         /// </summary> | |||
|  |         /// <param name="_key"></param> | |||
|  |         /// <param name="_defaultValue"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public override bool GetConfigBool(string _key, bool _defaultValue) | |||
|  |         { | |||
|  |             Debug.Log("bool _key : " + _key + " , _defaultValue : " + _defaultValue); | |||
|  |             bool newValue = SDKCall<bool>("getConfigBool", _key, _defaultValue); | |||
|  |             return newValue; | |||
|  |         } | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #region Others (Common) | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// review | |||
|  |         /// </summary> | |||
|  |         public override void Review() | |||
|  |         { | |||
|  |             SDKCall("review"); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// open Privacy | |||
|  |         /// </summary> | |||
|  |         public override void OpenPrivacyURL() | |||
|  |         { | |||
|  |             SDKCall("openPrivacy"); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// open agreement | |||
|  |         /// </summary> | |||
|  |         public override void OpenUserTermURL() | |||
|  |         { | |||
|  |             SDKCall("openAgreement"); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// open policy pop | |||
|  |         /// </summary> | |||
|  |         public override void OpenPolicyPop() | |||
|  |         { | |||
|  |             SDKCall("openPrivacyDialog"); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// More Games | |||
|  |         /// </summary> | |||
|  |         public override void OpenMoreGame() | |||
|  |         { | |||
|  |             SDKCall("moreGames"); | |||
|  |         } | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #region Others (Uncommon) | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// shake(no repeat) | |||
|  |         /// </summary> | |||
|  |         /// <param name="_shakeTime"> shake time </param> | |||
|  |         public override void shake(int _shakeType, float _intensity = 1) | |||
|  |         { | |||
|  |             long tShakeMS = _shakeType * _shakeType * 20 + (int)(_intensity * (_shakeType + 1) * 10); | |||
|  |             SDKCall("shake", tShakeMS); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <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 override void shake(int _repeatTimes, params int[] _shakeTime) | |||
|  |         //{ | |||
|  |         //    SDKCall("shake", _repeatTimes, _shakeTime); | |||
|  |         //} | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// cancel shake | |||
|  |         /// </summary> | |||
|  |         public override void cancelShake() | |||
|  |         { | |||
|  |             SDKCall("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 override void dialogTips(string _titleStr, string _contentStr = "") | |||
|  |         { | |||
|  |             SDKCall("dialogTips", _titleStr); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Open ULR by Browser | |||
|  |         /// </summary> | |||
|  |         /// <param name="_url"></param> | |||
|  |         public override void openUrlBrowser(string _url) | |||
|  |         { | |||
|  |             SDKCall("openUrlBrowser", _url); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// Open ULR By WEB POP | |||
|  |         /// </summary> | |||
|  |         /// <param name="_url"></param> | |||
|  |         public override void openWebUrl(string _url) | |||
|  |         { | |||
|  |             SDKCall("openWebUrl", _url); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// show Toast | |||
|  |         /// </summary> | |||
|  |         /// <param name="_content"></param> | |||
|  |         public override void toast(string _content) | |||
|  |         { | |||
|  |             SDKCall("toast"); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// push message | |||
|  |         /// </summary> | |||
|  |         public override void pushMsg() | |||
|  |         { | |||
|  |             SDKCall("pushMsg"); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  |     } | |||
|  | } | |||
|  | 
 | |||
|  | #endif |