From de76a6faf338fa2713dd328d61d23654747238cd Mon Sep 17 00:00:00 2001 From: juncong lee Date: Tue, 6 Jan 2026 11:04:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=BF=E5=91=8A=E5=B1=95=E7=A4=BA=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SDKManager/AdsSDKManager/AdsSDKManager.cs | 80 +++++++++++------- .../TpnAdsManager/TpnAdsManager.cs | 3 + Assets/Script/SDKManager/RushSDKManager.cs | 82 +++++-------------- .../TransferManager/TransferManager.cs | 5 -- Assets/Script/Test.cs | 1 - 5 files changed, 73 insertions(+), 98 deletions(-) diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs index 4a57cfc..92d68e9 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs @@ -10,7 +10,6 @@ namespace WZ { public class AdsSDKManager : D_MonoSingleton { - private List _adNetworks = new List(); // 是否有激励视频或者插屏广告在展示 public bool otherAdsOnShow = false; public void InitSDK() @@ -20,77 +19,99 @@ namespace WZ #region 激励视频广告 - public bool IsRewardAdReady() + public bool IsRewardAdReady(PlatformType _platformType) { - return _adNetworks.Any(network => network.IsRewardedAvailable()); + if(_platformType == PlatformType.Admob) + { + return AdmobAdsManager.Instance.IsRewardedAvailable(); + } + return TpnAdsManager.Instance.IsRewardedAvailable(); } /// /// 展示激励广告 /// /// - public void ShowRewardAd(string _adPos, Action _rewardCallback = null, Action _showFailedCallback = null) + public void ShowRewardAd(string _adPos, Action _rewardCallback, Action _showFailedCallback,PlatformType _platformType) { - LoggerUtils.Debug("ShowRewardAd _adPos:"+_adPos+" ready:"+IsRewardAdReady()); + LoggerUtils.Debug("ShowRewardAd _adPos:"+_adPos+" ready:"+IsRewardAdReady(_platformType)); otherAdsOnShow = true; - /// yangwu todo - { - _showFailedCallback?.Invoke(); - } AdPlayCountManager.IncrementAdsActionCount(AdsType.Rewarded,AdPlayCountManager.PLAY_COUNT_SUFFIX); AdjustTrackEvent.Instance.TrackEventName("RV_Show", new Dictionary()); - + if(_platformType == PlatformType.Admob) + { + AdmobAdsManager.Instance.DisplayRewarded(_adPos,_rewardCallback,_showFailedCallback); + } + else + { + TpnAdsManager.Instance.DisplayRewarded(_adPos,_rewardCallback,_showFailedCallback); + } } - - #endregion #region 插屏广告 - public bool IsInterstitialReady() + public bool IsInterstitialReady(PlatformType _platformType) { - return _adNetworks.Any(network => network.IsInterstitialAvailable()); + if(_platformType == PlatformType.Admob) + { + return AdmobAdsManager.Instance.IsInterstitialAvailable(); + } + return TpnAdsManager.Instance.IsInterstitialAvailable(); } /// /// 展示激励广告 /// /// - public void ShowInterstitialAd(string _adPos, IvType _IvType = IvType.IV1, Action _closeCallback = null) + public void ShowInterstitialAd(string _adPos, IvType _IvType, Action _closeCallback,PlatformType _platformType) { AdsSDKManager.Instance.otherAdsOnShow = true; - // yangwu todo - { - _closeCallback?.Invoke(0); - } - AdPlayCountManager.IncrementAdsActionCount(AdsType.Interstitial,AdPlayCountManager.PLAY_COUNT_SUFFIX); AdjustTrackEvent.Instance.TrackEventName("IV_Show", new Dictionary()); - // 刷新其他类型广告 + if(_platformType == PlatformType.Admob) + { + AdmobAdsManager.Instance.DisplayInterstitial(_adPos, _IvType, _closeCallback); + } + else + { + TpnAdsManager.Instance.DisplayInterstitial(_adPos, _IvType, _closeCallback); + } } - - - #endregion #region 横幅广告 - public bool IsBannerAdReady(BannerType bannerType) + public bool IsBannerAdReady(BannerType bannerType,PlatformType platformType) { - return AdmobAdsManager.Instance.IsBannerAvailable(bannerType); + if(platformType == PlatformType.Admob) + { + return AdmobAdsManager.Instance.IsBannerAvailable(bannerType); + }else + { + return TpnAdsManager.Instance.IsBannerAvailable(); + } + } - public void ShowBanner(BannerType bannerType,BannerAlignType bannerAlignType) + public void ShowBanner(BannerType bannerType,BannerAlignType bannerAlignType,PlatformType platformType) { - - AdmobAdsManager.Instance.DisplayBanner(bannerType,bannerAlignType); + AdPlayCountManager.IncrementAdsActionCount(AdsType.Banner,AdPlayCountManager.PLAY_COUNT_SUFFIX); AdjustTrackEvent.Instance.TrackEventName("Banner_Show", new Dictionary()); + if (platformType == PlatformType.Admob) + { + AdmobAdsManager.Instance.DisplayBanner(bannerType,bannerAlignType); + }else + { + TpnAdsManager.Instance.ShowBanner(); + } } public void HideBanner(BannerType bannerType) { AdmobAdsManager.Instance.HideBanner(bannerType); + TpnAdsManager.Instance.HideBanner(); } #endregion @@ -103,7 +124,6 @@ namespace WZ public void ShowNativeAd(string _adPos, string adUnitId, NativeAdPosition position) { - AdmobAdsManager.Instance.DisplayNative(_adPos, adUnitId, position); AdjustTrackEvent.Instance.TrackEventName("NA_Show", new Dictionary()); AdPlayCountManager.IncrementAdsActionCount(AdsType.Native,AdPlayCountManager.PLAY_COUNT_SUFFIX); diff --git a/Assets/Script/SDKManager/AdsSDKManager/TpnAdsManager/TpnAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/TpnAdsManager/TpnAdsManager.cs index 67e898e..42cc10f 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/TpnAdsManager/TpnAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/TpnAdsManager/TpnAdsManager.cs @@ -86,6 +86,7 @@ namespace WZ public bool IsRewardedAvailable() { + if(!_initialized && AdmobAdsManager.Instance._initialized) Initialize(); return string.IsNullOrEmpty(_topon_rewarded_units) ? false : ATRewardedAutoVideo.Instance.autoLoadRewardedVideoReadyForPlacementID(_topon_rewarded_units); } @@ -117,6 +118,7 @@ namespace WZ public bool IsInterstitialAvailable() { + if(!_initialized && AdmobAdsManager.Instance._initialized) Initialize(); return string.IsNullOrEmpty(_topon_interstitial_units) ? false : ATInterstitialAutoAd.Instance.autoLoadInterstitialAdReadyForPlacementID(_topon_interstitial_units); } #endregion @@ -143,6 +145,7 @@ namespace WZ public bool IsBannerAvailable() { + if(!_initialized && AdmobAdsManager.Instance._initialized) Initialize(); return string.IsNullOrEmpty(_topon_banner_units) ? false : bannerReady; } diff --git a/Assets/Script/SDKManager/RushSDKManager.cs b/Assets/Script/SDKManager/RushSDKManager.cs index 61ce388..356add5 100644 --- a/Assets/Script/SDKManager/RushSDKManager.cs +++ b/Assets/Script/SDKManager/RushSDKManager.cs @@ -20,7 +20,7 @@ public class RushSDKManager : D_MonoSingleton public static string GetSDKVersion() { - return "1.0.5.2"; + return "1.0.0"; } protected override void Initialized() { @@ -36,10 +36,8 @@ public class RushSDKManager : D_MonoSingleton AdsSplashManager.Instance.SetSplashAdCloseCallback(action); FireBaseSDKManager.Instance.Init(); ShuShuMangage.Instance.Init(); - AdmobAdsManager.Instance.RefreshAdsData(); - AdmobAdsManager.Instance.Initialize(); AdjustManager.Instance.Init(); - AdsSDKManager.Instance.InitSDK(); + #if UNITY_PURCHASE IAPPurchaseManager.Instance.Initialize(); #endif @@ -191,14 +189,6 @@ public class RushSDKManager : D_MonoSingleton #region ad - /// - /// 是否已缓存激励广告 - /// - /// - public bool IsRewardedAdReady() - { - return AdsSDKManager.Instance.IsRewardAdReady(); ; - } /// /// 展示激励广告 @@ -208,7 +198,11 @@ public class RushSDKManager : D_MonoSingleton public void ShowRewardAd(string position, Action callback = null) { AdsActionEvents.TrackAdPosition(AdsType.Rewarded, position); - bool isRewardAdReady = AdsSDKManager.Instance.IsRewardAdReady(); + + var _platform = TransferAndroidClass.IsVpnConnected() ? PlatformType.Admob : PlatformType.Topon; + + bool isRewardAdReady = AdsSDKManager.Instance.IsRewardAdReady(_platform); + if (isRewardAdReady) { AdsSDKManager.Instance.ShowRewardAd(position, (isReward, revenue) => @@ -223,7 +217,10 @@ public class RushSDKManager : D_MonoSingleton { callback?.Invoke(false, 0); } - }); + }, () => + { + callback?.Invoke(false, 0); + },_platform); } else { @@ -232,42 +229,23 @@ public class RushSDKManager : D_MonoSingleton } } - - - /// - /// 是否已缓存插屏 - /// - public bool IsInterstitialAdReady() - { - return AdsSDKManager.Instance.IsInterstitialReady(); - } - - /// - /// 是否能展示插屏 - /// - /// - /// - public bool CanShowInterstitialAd(IvType ivType) - { - return AdsSDKManager.Instance.IvRulesShow(ivType, false); - } - /// /// 展示插屏广告 /// /// /// /// - public void ShowInterstitial(string position, IvType ivadType = IvType.IV1, Action callback = null, bool ivRules = true) + public void ShowInterstitial(string position, IvType ivadType = IvType.IV1, Action callback = null) { AdsActionEvents.TrackAdPosition(AdsType.Interstitial, position); //插屏展示逻辑 bool ivRulesShow = AdsSDKManager.Instance.IvRulesShow(ivadType); - if (!ivRules) + var _platform = TransferAndroidClass.IsVpnConnected() ? PlatformType.Admob : PlatformType.Topon; + + if (ivRulesShow) { - //激励竞价不能被规则限制 //是否有缓存 - bool isInterstitialReady = AdsSDKManager.Instance.IsInterstitialReady(); + bool isInterstitialReady = AdsSDKManager.Instance.IsInterstitialReady(_platform); if (isInterstitialReady) { AdsSDKManager.Instance.ShowInterstitialAd(position, ivadType, (revenue) => @@ -277,28 +255,7 @@ public class RushSDKManager : D_MonoSingleton IvRulesConst.Intervals[ivadType.ToString()] = TimeUtils.GetLocalTimestamp(); AdsSplashManager.Instance.backgroundTime = Time.realtimeSinceStartup; callback?.Invoke(revenue); - }); - } - else - { - AdsActionEvents.TrackAdFailToShow(AdsType.Interstitial, position, AdsShowFailType.NoFill); - callback?.Invoke(-1); - } - } - else if (ivRulesShow && ivRules) - { - //是否有缓存 - bool isInterstitialReady = AdsSDKManager.Instance.IsInterstitialReady(); - if (isInterstitialReady) - { - AdsSDKManager.Instance.ShowInterstitialAd(position, ivadType, (revenue) => - { - //展示完一个插屏之后调用 - IvRulesConst.OverLevels[ivadType.ToString()] = 1; - IvRulesConst.Intervals[ivadType.ToString()] = TimeUtils.GetLocalTimestamp(); - AdsSplashManager.Instance.backgroundTime = Time.realtimeSinceStartup; - callback?.Invoke(revenue); - }); + },_platform); } else { @@ -322,9 +279,10 @@ public class RushSDKManager : D_MonoSingleton { AdsActionEvents.TrackAdPosition(AdsType.Banner, ""); - if (AdsSDKManager.Instance.IsBannerAdReady(bannerType)) + var _platform = TransferAndroidClass.IsVpnConnected() ? PlatformType.Admob : PlatformType.Topon; + if (AdsSDKManager.Instance.IsBannerAdReady(bannerType,_platform)) { - AdsSDKManager.Instance.ShowBanner(bannerType, bannerAlignType); + AdsSDKManager.Instance.ShowBanner(bannerType, bannerAlignType, _platform); } else { diff --git a/Assets/Script/SDKManager/TransferManager/TransferManager.cs b/Assets/Script/SDKManager/TransferManager/TransferManager.cs index 0445a0c..11e5690 100644 --- a/Assets/Script/SDKManager/TransferManager/TransferManager.cs +++ b/Assets/Script/SDKManager/TransferManager/TransferManager.cs @@ -36,11 +36,6 @@ namespace WZ RetryingAdMobCheck } - public void Init() - { - - } - public void OnAdjustCallbackReceived() { Debug.Log("收到Adjust回调,开始处理广告初始化"); diff --git a/Assets/Script/Test.cs b/Assets/Script/Test.cs index c1663b4..c082a1d 100644 --- a/Assets/Script/Test.cs +++ b/Assets/Script/Test.cs @@ -62,7 +62,6 @@ public class Test : MonoBehaviour public void OnInterShow() { - AdsSDKManager.Instance.ShowInterstitialAd("endgame", IvType.IV1, (revenue) => { LoggerUtils.Debug("oninter show call revenue:" + revenue); }); } public void ToponDebug()