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

588 lines
16 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.

#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)
{
TKGDebugger.LogDebug("init ----- 00");
base.Init(_initCallback);
TKGDebugger.LogDebug("init ----- 01");
SetBannerAdCallback(new AndroidBannerADTKGAdCallback());
TKGDebugger.LogDebug("init ----- 01 ------- a");
setInterstitalAdCallback(new AndroidInterADTKGAdCallback());
TKGDebugger.LogDebug("init ----- 01 ------- b");
SetRewardAdCallback(new AndroidRewardADTKGAdCallback());
TKGDebugger.LogDebug("init ----- 01 ------- c");
SetSDKCommonCallback(new AndroidTKGCommonCalllback());
TKGDebugger.LogDebug("init ----- 01 ------- d");
SDKCall("init", new AndroidProxyCallback());
TKGDebugger.LogDebug("init ----- 02");
}
#endregion
/// <summary>
/// Get Channel
/// </summary>
/// <returns></returns>
public override string GetChannel()
{
#if UNITY_EDITOR
return "AndroidRoot";
#endif
return SDKCall<string>("getChannel");
}
#region Ads
#region Ads Show
/// <summary>
/// show native ad
/// TODO 这个参数值需要修改成跟ios获取位置坐标宽高一样的方式
/// showPoint 展示广告点位
///
/// </summary>
public override void ShowNative(string nativePos, float x, float y, float width, float height)
{
SDKCall("showNative", nativePos, (int)x, (int)y, (int)width, (int)height);
}
/// <summary>
/// hide native ad
/// </summary>
public override void HideNative()
{
SDKCall("hideNative");
}
/// <summary>
/// Is Ready Native
/// </summary>
public override bool IsNativeReady()
{
bool isReady = SDKCall<bool>("isNativeReady");
return isReady;
}
#region Ads Show
/// <summary>
/// Show banner Ad
/// </summary>
/// <param name="_pos"> banner pos 1Top2Bottom </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>
/// <returns></returns>
public override int GetConfigInt(string _key, int _default)
{
TKGDebugger.LogDebug("int _key : " + _key + " , _default : " + _default);
int newValue = SDKCall<int>("getConfigInt", _key, _default);
return newValue;
}
/// <summary>
/// get config - string
/// </summary>
/// <param name="_key"></param>
/// <returns></returns>
public override string GetConfigString(string _key, string _default)
{
TKGDebugger.LogDebug("string _key : " + _key + " , _default : " + _default);
string newValue = SDKCall<string>("getConfigString", _key, _default);
return newValue;
}
/// <summary>
/// get config - bool
/// </summary>
/// <param name="_key"></param>
/// <returns></returns>
public override bool GetConfigBool(string _key, bool _default)
{
TKGDebugger.LogDebug("bool _key : " + _key + " , _default : " + _default);
bool newValue = SDKCall<bool>("getConfigBool", _key, _default);
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");
}
/// <summary>
/// Set Log Enable
/// </summary>
/// <param name="_enable"></param>
public override void SetLogEnable(bool _enable)
{
SDKCall("setLogEnable", _enable);
}
#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 timeshake time100,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
#region common callback
public override void SetSDKCommonCallback(AndroidTKGCommonCalllback _commonCallback)
{
SDKCall("setTkgCallback", _commonCallback);
}
public override void SetUserSourceCallback(AndroidTKGUserSourceCalllback _userSourceCallback)
{
SDKCall("getUserSource", _userSourceCallback);
}
#endregion
}
}
#endregion
#endif