mergemilitary/Assets/TKGSDK/NativeSDK/Scripts/SDK/TKGNativeInterface.cs

452 lines
13 KiB
C#
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using UnityEngine;
namespace Touka
{
/// <summary>
/// TKG Native SDK interface call
/// </summary>
public abstract class TKGNativeInterface
{
private static TKGNativeInterface _instance;
private string UnitySDKVersion = "2.2.6";
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);
SetUnitySDKVersion(UnitySDKVersion);
}
/// <summary>
/// Set game focus
/// </summary>
/// <param name="_gameFocusAction"></param>
public virtual void SetGameFocusListener(Action<bool> _gameFocusAction)
{
TKGSDKCallback.SetGameFocusCallback(_gameFocusAction);
}
public virtual void SetRewardClickListener(Action _rewardClickAction)
{
TKGSDKCallback.SetRewardClickCallback(_rewardClickAction);
}
/// <summary>
/// Get Channel
/// </summary>
/// <returns></returns>
public abstract string GetChannel();
#region Ads
public abstract void PurchasedRemoveAds();
public abstract void SetUnitySDKVersion(string sdkVersion);
#region Ads Show
public abstract void RemoveNativeAd();
public abstract bool IsReadyNativeAd();
public abstract void ShowNativeAd(RectTransform pRect, Camera pCam = null, string pAdPos = "");
/// <summary>
/// Show banner Ad
/// </summary>
/// <param name="_bannerAlign">bannerAlign</param>
public abstract void showBannerAd(TKGBannerAlign _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);
public abstract void SetShowSDKToast(bool _useSDKToast);
/// <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>
/// <param name="_stageResult"></param>
public abstract void LevelEnd(string _levelId, StageResult _stageResult);
#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>
/// <returns></returns>
public abstract int GetConfigInt(string _key, int _default);
/// <summary>
/// get config - string
/// </summary>
/// <param name="_key"></param>
/// <param name="_defaultValue"></param>
/// <returns></returns>
public abstract string GetConfigString(string _key, string _default);
/// <summary>
/// get config - bool
/// </summary>
/// <param name="_key"></param>
/// <param name="_defaultValue"></param>
/// <returns></returns>
public abstract bool GetConfigBool(string _key, bool _default);
#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 timeshake time100,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();
/// <summary>
/// set log enable
/// </summary>
/// <param name="_enable"></param>
public abstract void SetLogEnable(bool _enable);
/// <summary>
/// share txt
/// </summary>
/// <param name="_shareTxt"></param>
public abstract void ShareTxt(string _shareTxt);
/// <summary>
/// regist APNS
/// </summary>
public abstract void RegistAPNS();
/// <summary>
/// shake
/// </summary>
/// <param name="notiId">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 abstract void RegistNotification(string notiId, string body, string fireDate, int badge, string title, string subTitle);
/// <summary>
/// remove all notification
/// </summary>
public abstract void RemoveAllNotifications();
/// <summary>
/// remove notification by notification identifier
/// </summary>
/// <param name="notiId">notification identifier</param>
public abstract void RemoveNotification(string notiId);
#endregion
#region other callback
/// <summary>
/// set tkg common callback
/// </summary>
public abstract void SetSDKCommonCallback(AndroidTKGCommonCalllback _commonCallback);
/// <summary>
/// set user source callback
/// </summary>
public abstract void SetUserSourceCallback(AndroidTKGUserSourceCalllback _userSourceCallback);
/// <summary>
/// set user source callback with CampaignName
/// </summary>
public abstract void SetUserSourceCallback(AndroidTKGUserSourceCalllbackWithCampaignName _userSourceCallback);
#endregion
}
}