569 lines
18 KiB
C#
569 lines
18 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace Touka
|
|
{
|
|
public class TKGSDKCallbackAndroid
|
|
{
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// TGK framework level callback
|
|
/// </summary>
|
|
public class AndroidProxyCallback : AndroidJavaProxy
|
|
{
|
|
public AndroidProxyCallback() : base("com.touka.tkg.idal.ITKGProxyCallback")
|
|
{
|
|
}
|
|
|
|
// init succ callback
|
|
public void onInitSuccess()
|
|
{
|
|
TKGDebugger.LogDebug("onInitSuccess in AndroidProxyCallback");
|
|
|
|
Loom.QueueOnMainThread((pObj) =>
|
|
{
|
|
if (TKGSDKCallback.mInitCallback != null)
|
|
{
|
|
TKGSDKCallback.mInitCallback.Invoke();
|
|
TKGSDKCallback.mInitCallback = null;
|
|
}
|
|
}, "");
|
|
}
|
|
|
|
// init fail callback
|
|
public void onInitFail()
|
|
{
|
|
TKGDebugger.LogDebug("onInitFail");
|
|
|
|
Loom.QueueOnMainThread((pObj) =>
|
|
{
|
|
if (TKGSDKCallback.mInitCallback != null)
|
|
{
|
|
TKGSDKCallback.mInitCallback.Invoke();
|
|
TKGSDKCallback.mInitCallback = null;
|
|
}
|
|
}, "");
|
|
}
|
|
|
|
// game Activity disable callback
|
|
public void onPause()
|
|
{
|
|
TKGDebugger.LogDebug("onPause");
|
|
|
|
Loom.QueueOnMainThread((pObj) =>
|
|
{
|
|
if (TKGSDKCallback.mGameFocusCallback != null)
|
|
{
|
|
TKGSDKCallback.mGameFocusCallback.Invoke(false);
|
|
}
|
|
}, "");
|
|
}
|
|
|
|
// game Activity visible callback
|
|
public void onResume()
|
|
{
|
|
TKGDebugger.LogDebug("onResume");
|
|
|
|
Loom.QueueOnMainThread((pObj) =>
|
|
{
|
|
if (TKGSDKCallback.mGameFocusCallback != null)
|
|
{
|
|
TKGSDKCallback.mGameFocusCallback.Invoke(true);
|
|
}
|
|
}, "");
|
|
}
|
|
|
|
// pause callback, like stop sound
|
|
public void pauseGame()
|
|
{
|
|
TKGDebugger.LogDebug("pauseGame");
|
|
|
|
Loom.QueueOnMainThread((pObj) =>
|
|
{
|
|
if (TKGSDKCallback.mGameFocusCallback != null)
|
|
{
|
|
TKGSDKCallback.mGameFocusCallback.Invoke(false);
|
|
}
|
|
}, "");
|
|
}
|
|
|
|
// result callback, like replay sound
|
|
public void resumeGame()
|
|
{
|
|
TKGDebugger.LogDebug("resumeGame");
|
|
|
|
Loom.QueueOnMainThread((pObj) =>
|
|
{
|
|
if (TKGSDKCallback.mGameFocusCallback != null)
|
|
{
|
|
TKGSDKCallback.mGameFocusCallback.Invoke(true);
|
|
}
|
|
}, "");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// InterAd callback
|
|
/// </summary>
|
|
public class AndroidInterADTKGAdCallback : AndroidJavaProxy
|
|
{
|
|
public AndroidInterADTKGAdCallback() : base("com.touka.tkg.idal.ITKGAdCallback")
|
|
{
|
|
}
|
|
|
|
public void onClosed()
|
|
{
|
|
TKGDebugger.LogDebug("onClosed");
|
|
Loom.QueueOnMainThread((pObj) =>
|
|
{
|
|
if (TKGSDKCallback.mInterAdCallback != null)
|
|
{
|
|
TKGSDKCallback.mInterAdCallback.Invoke();
|
|
TKGSDKCallback.mInterAdCallback = null;
|
|
}
|
|
}, "");
|
|
}
|
|
|
|
public void onClicked()
|
|
{
|
|
TKGDebugger.LogDebug("onClicked");
|
|
}
|
|
|
|
// click to skip ad
|
|
public void onSkip()
|
|
{
|
|
TKGDebugger.LogDebug("onSkip");
|
|
}
|
|
|
|
public void onLoaded()
|
|
{
|
|
TKGDebugger.LogDebug("onLoaded");
|
|
}
|
|
|
|
public void onLoadFail(int code, string msg)
|
|
{
|
|
TKGDebugger.LogDebug("onLoadFail");
|
|
}
|
|
|
|
public void onShow()
|
|
{
|
|
TKGDebugger.LogDebug("onShow");
|
|
}
|
|
|
|
public void onShowFail(int code, string msg)
|
|
{
|
|
TKGDebugger.LogDebug("onShowFail");
|
|
|
|
if (code == (int)AdShowFailCodeType.AdIsNotReady)
|
|
{
|
|
TKGDebugger.LogDebug("iv show failed - AdIsNotReady");
|
|
}
|
|
else if (code == (int)AdShowFailCodeType.AdIsReadyCannotShow)
|
|
{
|
|
TKGDebugger.LogDebug("iv show failed - AdIsReadyCannotShow");
|
|
}
|
|
else
|
|
{
|
|
TKGDebugger.LogDebug("iv show failed - AdShowFailReal");
|
|
}
|
|
|
|
Loom.QueueOnMainThread((pObj) =>
|
|
{
|
|
if (TKGSDKCallback.mInterAdCallback != null)
|
|
{
|
|
TKGSDKCallback.mInterAdCallback.Invoke();
|
|
TKGSDKCallback.mInterAdCallback = null;
|
|
}
|
|
}, "");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// RewardAd callback
|
|
/// </summary>
|
|
public class AndroidRewardADTKGAdCallback : AndroidJavaProxy
|
|
{
|
|
public AndroidRewardADTKGAdCallback() : base("com.touka.tkg.idal.ITKGRewardADCallback")
|
|
{
|
|
}
|
|
|
|
public void onClosed()
|
|
{
|
|
TKGDebugger.LogDebug("AndroidRewardADTKGAdCallback onClosed");
|
|
}
|
|
|
|
public void onClicked()
|
|
{
|
|
TKGDebugger.LogDebug("AndroidRewardADTKGAdCallback onClicked");
|
|
Loom.QueueOnMainThread((pObj) =>
|
|
{
|
|
if (TKGSDKCallback.mRewardClickCallback != null)
|
|
{
|
|
TKGSDKCallback.mRewardClickCallback.Invoke();
|
|
}
|
|
}, "");
|
|
}
|
|
|
|
// click to skip ad
|
|
public void onSkip()
|
|
{
|
|
TKGDebugger.LogDebug("AndroidRewardADTKGAdCallback onSkip");
|
|
}
|
|
|
|
public void onLoaded()
|
|
{
|
|
TKGDebugger.LogDebug("AndroidRewardADTKGAdCallback onLoaded");
|
|
}
|
|
|
|
public void onLoadFail(int code, string msg)
|
|
{
|
|
TKGDebugger.LogDebug("AndroidRewardADTKGAdCallback onLoadFail, code : " + code + " , msg : " + msg);
|
|
}
|
|
|
|
public void onShow()
|
|
{
|
|
TKGDebugger.LogDebug("AndroidRewardADTKGAdCallback onShow");
|
|
}
|
|
|
|
public void onShowFail(int code, string msg)
|
|
{
|
|
TKGDebugger.LogDebug("AndroidRewardADTKGAdCallback onShowFail, code : " + code + " , msg : " + msg);
|
|
Loom.QueueOnMainThread((pObj) =>
|
|
{
|
|
if (TKGSDKCallback.mRewardShowFailedCallback != null)
|
|
{
|
|
TKGSDKCallback.mRewardShowFailedCallback.Invoke();
|
|
TKGSDKCallback.mRewardShowFailedCallback = null;
|
|
}
|
|
}, "");
|
|
}
|
|
|
|
/// <summary>
|
|
/// RewardAd give reward in this method
|
|
///
|
|
/// when show rv succ, close rv must call back this, can use as iOS close callback
|
|
/// </summary>
|
|
/// <param name="msg"></param>
|
|
/// <param name="code"></param>
|
|
/// <param name="isReward"></param>
|
|
public void onReward(string msg, int code, bool isReward)
|
|
{
|
|
TKGDebugger.LogDebug("onReward, msg : " + msg + " , code : " + code + " , isReward : " + isReward);
|
|
Loom.QueueOnMainThread((pObj) =>
|
|
{
|
|
if (isReward)
|
|
{
|
|
if (TKGSDKCallback.mRewardCallback != null)
|
|
{
|
|
TKGSDKCallback.mRewardCallback.Invoke(true);
|
|
TKGSDKCallback.mRewardCallback = null;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (TKGSDKCallback.mRewardCallback != null)
|
|
{
|
|
TKGSDKCallback.mRewardCallback.Invoke(false);
|
|
TKGSDKCallback.mRewardCallback = null;
|
|
}
|
|
}
|
|
}, "");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// bannerAd callback
|
|
/// </summary>
|
|
public class AndroidBannerADTKGAdCallback : AndroidJavaProxy
|
|
{
|
|
public AndroidBannerADTKGAdCallback() : base("com.touka.tkg.idal.ITKGAdCallback")
|
|
{
|
|
}
|
|
|
|
public void onClosed()
|
|
{
|
|
TKGDebugger.LogDebug("onClosed");
|
|
}
|
|
|
|
public void onClicked()
|
|
{
|
|
TKGDebugger.LogDebug("onClicked");
|
|
}
|
|
|
|
public void onSkip()
|
|
{
|
|
TKGDebugger.LogDebug("onSkip");
|
|
}
|
|
|
|
public void onLoaded()
|
|
{
|
|
TKGDebugger.LogDebug("onLoaded");
|
|
}
|
|
|
|
public void onLoadFail(int code, string msg)
|
|
{
|
|
TKGDebugger.LogDebug("onLoadFail, code : " + code + " , msg : " + msg);
|
|
}
|
|
|
|
public void onShow()
|
|
{
|
|
TKGDebugger.LogDebug("onShow");
|
|
}
|
|
|
|
public void onShowFail(int code, string msg)
|
|
{
|
|
TKGDebugger.LogDebug("onShowFail, code : " + code + " , msg : " + msg);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// tkg callback
|
|
/// </summary>
|
|
public class AndroidTKGCommonCalllback : AndroidJavaProxy
|
|
{
|
|
public AndroidTKGCommonCalllback() : base("com.touka.tkg.idal.TKGCalllback")
|
|
{
|
|
}
|
|
|
|
public void onCall(int _code, string _msg)
|
|
{
|
|
TKGDebugger.LogDebug("TKGCallback onCall, code : " + _code + " , msg : " + _msg);
|
|
|
|
Loom.QueueOnMainThread(pObj =>
|
|
{
|
|
if (TKGSDKCallback.mTKGCommonCallback == null) return;
|
|
TKGSDKCallback.mTKGCommonCallback.Invoke((CommonCallbackCode)_code, _msg);
|
|
TKGSDKCallback.mTKGCommonCallback = null;
|
|
}, "");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// tkg callback
|
|
/// </summary>
|
|
public class AndroidTKGUserSourceCalllback : AndroidJavaProxy
|
|
{
|
|
public AndroidTKGUserSourceCalllback() : base("com.touka.tkg.idal.UserSourceCallback")
|
|
{
|
|
}
|
|
|
|
public void onResult(bool _isOrganic, string _userSource)
|
|
{
|
|
TKGDebugger.LogDebug("TKGCallback onCall, isOrganic : " + _isOrganic + " , userSource : " + _userSource);
|
|
Loom.QueueOnMainThread((pObj) =>
|
|
{
|
|
if (TKGSDKCallback.mTKGUserSourceCallback != null)
|
|
{
|
|
TKGSDKCallback.mTKGUserSourceCallback.Invoke(_isOrganic, _userSource);
|
|
TKGSDKCallback.mTKGUserSourceCallback = null;
|
|
}
|
|
}, "");
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// tkg callback
|
|
/// </summary>
|
|
public class AndroidTKGUserSourceCalllbackWithCampaignName : AndroidJavaProxy
|
|
{
|
|
public AndroidTKGUserSourceCalllbackWithCampaignName() : base("com.touka.tkg.idal.UserSourceCallbackWithType")
|
|
{
|
|
}
|
|
|
|
public void onResult(bool _isOrganic, string _userSource, string campaignName)
|
|
{
|
|
TKGDebugger.LogDebug("TKGCallback onCall, isOrganic : " + _isOrganic + " , userSource : " + _userSource +
|
|
" , campaignName : " + campaignName);
|
|
|
|
Loom.QueueOnMainThread(_ =>
|
|
{
|
|
if (TKGSDKCallback.mTKGUserSourceCallbackWithCampaignName == null) return;
|
|
TKGSDKCallback.mTKGUserSourceCallbackWithCampaignName.Invoke(_isOrganic, _userSource, campaignName);
|
|
TKGSDKCallback.mTKGUserSourceCallbackWithCampaignName = null;
|
|
}, "");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// FunctionSwitchCalllback
|
|
/// </summary>
|
|
public class AndroidFunctionSwitchCalllback : AndroidJavaProxy
|
|
{
|
|
public AndroidFunctionSwitchCalllback() : base("com.touka.tkg.idal.GameFunctionSwitchCallback")
|
|
{
|
|
}
|
|
|
|
public void onFunctionSwitchResult(string _functionKey, bool _functionSwitch)
|
|
{
|
|
FunctionType enumType = (FunctionType)Enum.Parse(typeof(FunctionType), _functionKey);
|
|
|
|
if (TKGSDKCallback.mFunctionSwitchCalllback != null)
|
|
{
|
|
Loom.QueueOnMainThread(
|
|
_ => { TKGSDKCallback.mFunctionSwitchCalllback?.Invoke(enumType, _functionSwitch); }, "");
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// FunctionSwitchCalllback
|
|
/// </summary>
|
|
public class AndroidLoginCalllback : AndroidJavaProxy
|
|
{
|
|
private bool _isAutoLogin;
|
|
|
|
public AndroidLoginCalllback(bool isAutoLogin = false) : base("com.touka.tkg.idal.ITKGLoginCallback")
|
|
{
|
|
_isAutoLogin = isAutoLogin;
|
|
}
|
|
|
|
public void onLoginResult(int _code, string _msg, int _loginType, string _userId, string _token, string _email,
|
|
string _displayName, string _photoUrl)
|
|
{
|
|
TKGDebugger.LogDebug("AndroidLoginCalllback onLoginResult, code : " + _code
|
|
+ " , msg : " + _msg
|
|
+ " , _loginType : " + _loginType
|
|
+ " , _userId : " + _userId
|
|
+ " , _token : " + _token
|
|
+ " , _email : " + _email
|
|
+ " , _displayName : " + _displayName
|
|
+ " , _photoUrl : " + _photoUrl
|
|
);
|
|
TKGDebugger.LogDebug($"is auto login {_isAutoLogin}");
|
|
LoginStatus loginStatusEnum = (LoginStatus)Enum.ToObject(typeof(LoginStatus), _code);
|
|
LoginType loginTypeEnum = (LoginType)Enum.ToObject(typeof(LoginType), _loginType);
|
|
Loom.QueueOnMainThread(pObj =>
|
|
{
|
|
if (_isAutoLogin)
|
|
{
|
|
TKGSDKCallback.mAutoLoginCallback?.Invoke(loginStatusEnum, loginTypeEnum, _msg, _userId, _token,
|
|
_email,
|
|
_displayName, _photoUrl);
|
|
}
|
|
else
|
|
{
|
|
TKGSDKCallback.mLoginCallback?.Invoke(loginStatusEnum, loginTypeEnum, _msg, _userId, _token, _email,
|
|
_displayName, _photoUrl);
|
|
}
|
|
}, "");
|
|
}
|
|
|
|
|
|
public void onLogout()
|
|
{
|
|
if (null != TKGSDKCallback.mLogoutCallback)
|
|
{
|
|
Loom.QueueOnMainThread(pObj => { TKGSDKCallback.mLogoutCallback?.Invoke(); }, "");
|
|
}
|
|
}
|
|
|
|
public void onDeleteAccount(int code, string userId)
|
|
{
|
|
if (null == TKGSDKCallback.mDeleteAccountCallback) return;
|
|
var codeType = (DeleteStatus)Enum.ToObject(typeof(DeleteStatus), code);
|
|
Loom.QueueOnMainThread(pObj => { TKGSDKCallback.mDeleteAccountCallback?.Invoke(codeType, userId); }, "");
|
|
}
|
|
|
|
|
|
public void onBindAccount(int _code, string _msg, int _loginType, string _userId, string _token, string _email,
|
|
string _displayName, string _photoUrl, string userIds)
|
|
{
|
|
TKGDebugger.LogDebug("AndroidLoginCalllback onBindAccount, code : " + _code
|
|
+ " , msg : " + _msg
|
|
+ " , _loginType : " + _loginType
|
|
+ " , _userId : " + _userId
|
|
+ " , _token : " + _token
|
|
+ " , _email : " + _email
|
|
+ " , _displayName : " + _displayName
|
|
+ " , _photoUrl : " + _photoUrl
|
|
+ " , userIds : " + userIds
|
|
);
|
|
if (null == TKGSDKCallback.mBindAccountCallback) return;
|
|
var bindAccountStatusEnum = (BindAccountStatus)Enum.ToObject(typeof(BindAccountStatus), _code);
|
|
var loginTypeEnum = (LoginType)Enum.ToObject(typeof(LoginType), _loginType);
|
|
var userIdList = userIds.Split(',');
|
|
Loom.QueueOnMainThread(pObj =>
|
|
{
|
|
TKGSDKCallback.mBindAccountCallback?.Invoke(bindAccountStatusEnum, loginTypeEnum, _msg, _userId, _token,
|
|
_email,
|
|
_displayName, _photoUrl, userIdList);
|
|
}, "");
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// FunctionSwitchCalllback
|
|
/// </summary>
|
|
public class AdsRevenueCallback : AndroidJavaProxy
|
|
{
|
|
public AdsRevenueCallback() : base("com.touka.tkg.idal.IAdsRevenueCallback")
|
|
{
|
|
}
|
|
|
|
public void revenueHandle(string _adsType, string _price, string _currnecy)
|
|
{
|
|
// FunctionType enumType = (AdsType)Enum.Parse(typeof(AdsType), _adsType);
|
|
|
|
if (TKGSDKCallback.mAdsRevenueCallback != null)
|
|
{
|
|
AdsType adsType = AdsType.None;
|
|
switch (_adsType)
|
|
{
|
|
case "1":
|
|
adsType = AdsType.Splash;
|
|
break;
|
|
case "2":
|
|
adsType = AdsType.Banner;
|
|
break;
|
|
case "3":
|
|
adsType = AdsType.IV;
|
|
break;
|
|
case "4":
|
|
adsType = AdsType.RV;
|
|
break;
|
|
case "5":
|
|
adsType = AdsType.Native;
|
|
break;
|
|
}
|
|
|
|
Loom.QueueOnMainThread(
|
|
_ => { TKGSDKCallback.mAdsRevenueCallback?.Invoke(adsType, _price, _currnecy); }, "");
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// FunctionSwitchCalllback
|
|
/// </summary>
|
|
public class SecondPurchaseCallback : AndroidJavaProxy
|
|
{
|
|
public SecondPurchaseCallback() : base("com.touka.tkg.idal.ISecondPurchaseCallback")
|
|
{
|
|
}
|
|
|
|
public void onResult(string _orderID,string _poductName, string _productID, bool _result, string _gameExtraParam)
|
|
{
|
|
// FunctionType enumType = (AdsType)Enum.Parse(typeof(AdsType), _adsType);
|
|
|
|
if (TKGSDKCallback.mSecondPurchaseCallback != null)
|
|
{
|
|
Loom.QueueOnMainThread(
|
|
_ => { TKGSDKCallback.mSecondPurchaseCallback?.Invoke(_orderID, _poductName, _productID, _result, _gameExtraParam); }, "");
|
|
}
|
|
}
|
|
}
|
|
|
|
/*
|
|
Loom.QueueOnMainThread((pObj) =>
|
|
{
|
|
|
|
}, "");
|
|
*/
|
|
} |