using System; using System.Collections.Generic; namespace Touka { /// /// TKG Native SDK interface call /// 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; } } /// /// init /// public virtual void Init(Action _initCallback = null) { TKGSDKCallback.SetInitCallback(_initCallback); } /// /// Set game focus /// /// public virtual void SetGameFocusListener(Action _gameFocusAction) { TKGSDKCallback.SetGameFocusCallback(_gameFocusAction); } /// /// Get Channel /// /// public abstract string GetChannel(); #region Ads #region Ads Show /// /// Show banner Ad /// /// banner pos, 1:Top;2:Bottom public abstract void showBannerAd(int _pos); /// /// Hide Banner Ad /// public abstract void hideBannerAd(); /// /// Show Interstitial Ad /// /// auto log event : iv_ad_show /// public abstract void showInterstitialAd(); /// /// Show Interstitial Ad /// /// auto log event : iv_ad_show & _adPos(eg.stage_end) /// /// public abstract void showInterstitialAd(string _adPos, IVADType _IvType = IVADType.IV1); /// /// Show Reward Ad /// /// /// public abstract void showRewardAd(string _adPos, int _itemCount = -1); /// /// Show Reward Ad /// /// /// /// public abstract void showRewardAd(string _adPos, int _itemCount, Dictionary _extraEvent); /// /// Show Video Ad /// /// /// public abstract void showVideoAd(string _adPos, int _itemCount = -1); #endregion #region Ads isready /// /// banner isReady /// /// public abstract bool isBannerAdReady(); /// /// Interstitial isReady /// /// public abstract bool isInterstitialAdReady(); /// /// Reward isReady /// /// public abstract bool isRewardAdReady(); /// /// FullScreen isReady /// /// public abstract bool isVideoAdReady(); #endregion #region Set Ads callback /// /// Set Banner Ad Callback /// /// public abstract void SetBannerAdCallback(AndroidBannerADTKGAdCallback _bannerCallback); /// /// Set Interstital Ad Callback /// /// public abstract void setInterstitalAdCallback(AndroidInterADTKGAdCallback _interCallback); /// /// Set reward Ad Callback /// /// public abstract void SetRewardAdCallback(AndroidRewardADTKGAdCallback _rewardCallback); /// /// Set video Ad Callback(full screen ad, reward ad with no reward callback) /// /// public abstract void setVideoAdCallback(AndroidInterADTKGAdCallback _videoCallback); #endregion #region load ads /// /// load interstitial ad /// (retry 3 times, per time interval 10s) /// public abstract void loadInterstitialAD(); /// /// load reward ad /// (retry 3 times, per time interval 10s) /// public abstract void loadRewardAD(); /// /// load video ad /// (retry 3 times, per time interval 10s) /// public abstract void loadVideoAD(); #endregion #endregion #region Log Event #region Normal /// /// onEvent /// /// /// public abstract void onEvent(string _eventName); /// /// onEvent /// /// /// /// /// public abstract void onEvent(string _eventName, string _key01, string _value01); /// /// onEvent /// /// /// /// /// /// /// public abstract void onEvent(string _eventName, string _key01, string _value01, string _key02, string _value02); /// /// onEvent /// /// /// public abstract void onEvent(string _eventName, Dictionary _keyValues); #endregion #region Level Event /// /// Level Start /// /// public abstract void LevelStart(string _levelId); /// /// Level end /// /// public abstract void LevelEnd(string _levelId, bool _isSucc); #endregion #region Tracking Event /// /// Log Tracking Event /// /// public abstract void LogTrackingEvent(TrackingEventType _eventType); #endregion #endregion #region Online Config /// /// get config - int /// /// /// /// public abstract int GetConfigInt(string _key, int _defaultValue); /// /// get config - string /// /// /// /// public abstract string GetConfigString(string _key, string _defaultValue); /// /// get config - bool /// /// /// /// public abstract bool GetConfigBool(string _key, bool _defaultValue); #endregion #region Others (Common) /// /// review /// public abstract void Review(); /// /// open Privacy url /// public abstract void OpenPrivacyURL(); /// /// open user term url /// public abstract void OpenUserTermURL(); /// /// open policy pop /// public abstract void OpenPolicyPop(); /// /// More Games /// public abstract void OpenMoreGame(); #endregion #region Others (Uncommon) /// /// shake(no repeat) /// /// shake time public abstract void shake(int _shakeType, float _intensity = 1); /// /// shake(can repeat) /// /// repeat times : -1 /// wait time,shake time(100,1000,100,111) //public abstract void shake(int _repeatTimes, params int[] _shakeTime); /// /// cancel shake /// public abstract void cancelShake(); /// /// 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 /// /// title /// content public abstract void dialogTips(string _titleStr, string _contentStr); /// /// Open ULR by Browser /// /// public abstract void openUrlBrowser(string _url); /// /// Open ULR By WEB POP /// /// public abstract void openWebUrl(string _url); /// /// show Toast /// /// public abstract void toast(string _content); /// /// push message /// public abstract void pushMsg(); #endregion } }