From b46582b837ad4a0d30872510d035793113d9e1cc Mon Sep 17 00:00:00 2001 From: juncong lee Date: Mon, 1 Sep 2025 11:39:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdmobAdsManager/AdmobAdsManager.cs | 21 ++++++++++++------- .../BigoAdsManager/BigoAdsManager.cs | 8 +++---- .../MaxAdsManager/MaxAdsManager.cs | 7 +++++-- .../TpnAdsManager/TpnAdsManager.cs | 5 +++-- 4 files changed, 25 insertions(+), 16 deletions(-) diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs index 68a151a..0853d1d 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using GoogleMobileAds.Api; using Script.Common; using Script.SDKManager.AdsSDKManager.Constant; @@ -18,11 +19,11 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager private AdmobRewardedAdManager _admobRewardedAdManager; private AdmobNativeAdManager _admobNativeAdManager; private AdmobSplashAdManager _admobSplashAdManager; - private List _interstitialAdUnits; - private List _rewardedAdUnits; - private List _nativeAdUnits; - private List _splashAdUnits; - private List _bannerAdUnits; + private List _interstitialAdUnits = new List(); + private List _rewardedAdUnits = new List(); + private List _nativeAdUnits = new List(); + private List _splashAdUnits = new List(); + private List _bannerAdUnits = new List(); private string _rvPos; private string _ivPos; @@ -36,6 +37,10 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager { MobileAds.RaiseAdEventsOnUnityMainThread = true; _bannerAdUnits = AdConfigParser.GetAdmobAdUnits(AdsType.Banner); + _interstitialAdUnits = AdConfigParser.GetAdmobAdUnits(AdsType.Interstitial); + _nativeAdUnits = AdConfigParser.GetAdmobAdUnits(AdsType.Native); + _splashAdUnits = AdConfigParser.GetAdmobAdUnits(AdsType.Splash); + _rewardedAdUnits = AdConfigParser.GetAdmobAdUnits(AdsType.Rewarded); MobileAds.Initialize(initStatus => { if (_bannerAdUnits.Count > 0) @@ -62,8 +67,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager #region 激励广告功能 public void LoadRewarded() { - _admobRewardedAdManager.Destroy(); _admobRewardedAdManager = new AdmobRewardedAdManager(); + _admobRewardedAdManager.Destroy(); _admobRewardedAdManager.InitializeAdUnits( _rewardedAdUnits, OnRewardedAdLoaded, @@ -139,8 +144,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager #region 插页广告功能 public void LoadInterstitial() { - _admobInterstitialAdManager.Destroy(); _admobInterstitialAdManager = new AdmobInterstitialAdManager(); + _admobInterstitialAdManager.Destroy(); _admobInterstitialAdManager.InitializeAdUnits( _interstitialAdUnits, OnInterstitialAdLoaded, @@ -214,8 +219,8 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager #region 开屏广告功能 public void LoadSplash() { - _admobSplashAdManager.Destroy(); _admobSplashAdManager = new AdmobSplashAdManager(); + _admobSplashAdManager.Destroy(); _admobSplashAdManager.InitializeAdUnits( _splashAdUnits, OnSplashAdLoaded, diff --git a/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoAdsManager.cs index 0e1a7f3..a4ab123 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/BigoAdsManager/BigoAdsManager.cs @@ -17,8 +17,8 @@ namespace Script.SDKManager.AdsSDKManager.BigoAdsManager public string ClientName => "Bigo"; private BigoRewardedAdManager _rewardedAdManager; private BigoInterstitialAdManager _interstitialAdManager; - private List _interstitialAdUnits; - private List _rewardedAdUnits; + private List _interstitialAdUnits = new List(); + private List _rewardedAdUnits = new List(); public string bigo_app_id; private bool _initialized; private string _rvPos; @@ -111,7 +111,7 @@ namespace Script.SDKManager.AdsSDKManager.BigoAdsManager public void LoadRewarded() { - _rewardedAdManager.Destroy(); + _rewardedAdManager?.Destroy(); foreach (var adUnitId in _rewardedAdUnits) { _rewardedAdManager.LoadAd(adUnitId); @@ -174,7 +174,7 @@ namespace Script.SDKManager.AdsSDKManager.BigoAdsManager public void LoadInterstitial() { - _interstitialAdManager.Destroy(); + _interstitialAdManager?.Destroy(); foreach (var adUnitId in _interstitialAdUnits) { _interstitialAdManager.LoadAd(adUnitId); diff --git a/Assets/Script/SDKManager/AdsSDKManager/MaxAdsManager/MaxAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/MaxAdsManager/MaxAdsManager.cs index 322c1db..ed2cd77 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/MaxAdsManager/MaxAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/MaxAdsManager/MaxAdsManager.cs @@ -1,6 +1,7 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Linq; using System.Net.Security; using Firebase.Analytics; using Script.Common; @@ -33,8 +34,8 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager public void Initialize() { max_app_key = AdConfigParser.GetMaxAppKey(); - max_interstitial_units = AdConfigParser.GetMaxAdUnits(AdsType.Interstitial).ToArray()[0]; - max_rewarded_units = AdConfigParser.GetMaxAdUnits(AdsType.Rewarded).ToArray()[0]; + max_interstitial_units = AdConfigParser.GetMaxAdUnits(AdsType.Interstitial).FirstOrDefault(); + max_rewarded_units = AdConfigParser.GetMaxAdUnits(AdsType.Rewarded).FirstOrDefault(); if (string.IsNullOrEmpty(max_app_key)) return; LoggerUtils.Debug("[Max] init max"); // 关闭反转debug面板 @@ -69,6 +70,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager } public void LoadRewarded() { + if (string.IsNullOrEmpty(max_rewarded_units)) return; MaxSdk.LoadRewardedAd(max_rewarded_units); } public void DisplayRewarded(string adPos, Action rewardCallback = null, Action showFailedCallback = null) @@ -160,6 +162,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager public void LoadInterstitial() { + if (string.IsNullOrEmpty(max_rewarded_units)) return; MaxSdk.LoadInterstitial(max_interstitial_units); } public double GetInterstitialRevenue() diff --git a/Assets/Script/SDKManager/AdsSDKManager/TpnAdsManager/TpnAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/TpnAdsManager/TpnAdsManager.cs index fdd94e8..9379d91 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/TpnAdsManager/TpnAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/TpnAdsManager/TpnAdsManager.cs @@ -1,6 +1,7 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Linq; using System.Threading; using AnyThinkAds.Api; using AnyThinkAds.ThirdParty.LitJson; @@ -31,8 +32,8 @@ namespace Script.SDKManager.AdsSDKManager.TpnAdsManager { topon_app_id = AdConfigParser.GetTopOnAppId(); topon_app_key = AdConfigParser.GetTopOnAppKey(); - topon_interstitial_units = AdConfigParser.GetTopOnAdUnits(AdsType.Interstitial).ToArray()[0]; - topon_rewarded_units = AdConfigParser.GetTopOnAdUnits(AdsType.Rewarded).ToArray()[0]; + topon_interstitial_units = AdConfigParser.GetTopOnAdUnits(AdsType.Interstitial).FirstOrDefault(); + topon_rewarded_units = AdConfigParser.GetTopOnAdUnits(AdsType.Rewarded).FirstOrDefault(); LoggerUtils.Debug("[Tpn] 初始化 Tpn 广告 SDK appid:" + topon_app_id + " appkey:" + topon_app_key + " ivId:" + topon_interstitial_units + " rvId:" + topon_rewarded_units); if (!string.IsNullOrEmpty(topon_app_id) && !string.IsNullOrEmpty(topon_app_key)) {