98 lines
3.3 KiB
C#
98 lines
3.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public static class AdsUtils
|
|
{
|
|
private static int sInterstitialShowCount = 0;
|
|
private static int sNoAdsShowCount = 0;
|
|
|
|
private const int SHOW_NOADS_MAX_COUNT = 3;
|
|
|
|
public static bool PlayInterstitial(TKGIVAdPositionName pAdPos, bool pIsWin = true, Action pCallback = null)
|
|
{
|
|
if (PlayerData.Instance.IsNoAds)
|
|
{
|
|
pCallback?.Invoke();
|
|
return false;
|
|
}
|
|
|
|
if (PlayerData.Instance.LoginCount == 1 && PlayerData.Instance.CurrentLevel <= TKGSDKManager.Instance.GetConfigInt(TKGParamKey.LevelInterSwitch))
|
|
{
|
|
pCallback?.Invoke();
|
|
return false;
|
|
}
|
|
|
|
bool tHasShowedNoAds = false;
|
|
Touka.IVADType tIVType = pIsWin ? Touka.IVADType.IV1 : Touka.IVADType.IV2;
|
|
|
|
if (TKGSDKManager.Instance.IsIAPEnabled)
|
|
{
|
|
if (TKGSDKManager.Instance.IsReadyInterstitialAd() && sNoAdsShowCount < SHOW_NOADS_MAX_COUNT)
|
|
{
|
|
if ((sInterstitialShowCount > TKGSDKManager.Instance.GetConfigInt(TKGParamKey.RemoveAdsShow)) && (sInterstitialShowCount % TKGSDKManager.Instance.GetConfigInt(TKGParamKey.RemoveAds) == 0))
|
|
{
|
|
sNoAdsShowCount++;
|
|
PanelBuyNoAds tUIBuy = UIManager.Instance.OpenUI<PanelBuyNoAds>();
|
|
tUIBuy.DelResult = (pResult) =>
|
|
{
|
|
if (!pResult)
|
|
{
|
|
Debug.Log("show interstitial after show buy no ads");
|
|
TKGSDKManager.Instance.ShowInterstitialAd(pAdPos, pCallback, tIVType);
|
|
}
|
|
else
|
|
{
|
|
pCallback?.Invoke();
|
|
}
|
|
};
|
|
|
|
tHasShowedNoAds = true;
|
|
}
|
|
else
|
|
{
|
|
Debug.Log("show interstitial when doesn't reach delta");
|
|
TKGSDKManager.Instance.ShowInterstitialAd(pAdPos, pCallback, tIVType);
|
|
}
|
|
|
|
sInterstitialShowCount++;
|
|
}
|
|
else
|
|
{
|
|
Debug.Log("show interstitial normally");
|
|
TKGSDKManager.Instance.ShowInterstitialAd(pAdPos, pCallback, tIVType);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Debug.Log("show interstitial normally");
|
|
TKGSDKManager.Instance.ShowInterstitialAd(pAdPos, pCallback, tIVType);
|
|
}
|
|
|
|
return tHasShowedNoAds;
|
|
}
|
|
|
|
public static void PlayReward(TKGRVPositionName pAdPos, Action pSuccessCallback = null)
|
|
{
|
|
TKGSDKManager.Instance.ShowRewardAd(pAdPos, (pResult) =>
|
|
{
|
|
if (pResult)
|
|
{
|
|
pSuccessCallback?.Invoke();
|
|
MMOModule.Instance.WatchRVSuccessfully();
|
|
}
|
|
}, null, true);
|
|
}
|
|
|
|
public static void PlayReward(TKGRVPositionName pAdPos, Action<bool> pResultCallback = null)
|
|
{
|
|
TKGSDKManager.Instance.ShowRewardAd(pAdPos, (pResult) =>
|
|
{
|
|
pResultCallback?.Invoke(pResult);
|
|
if (pResult)
|
|
{
|
|
MMOModule.Instance.WatchRVSuccessfully();
|
|
}
|
|
}, null, true);
|
|
}
|
|
} |