| 
									
										
										
										
											2025-08-31 05:15:14 +00:00
										 |  |  | using System; | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  | using System.Collections.Generic; | 
					
						
							| 
									
										
										
										
											2025-08-31 12:29:24 +00:00
										 |  |  | using DKManager.AdsSDKManager.Constant; | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  | using GoogleMobileAds.Api; | 
					
						
							|  |  |  | using Script.Common; | 
					
						
							|  |  |  | using Script.SDKManager.AdsSDKManager.Utils; | 
					
						
							|  |  |  | using Script.Utils; | 
					
						
							|  |  |  | using SDK.Utils; | 
					
						
							|  |  |  | using SDKManager.AdsSDKManager.Constant; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public class AdmobAdsManager : NormalSingleton<AdmobAdsManager>, IAdService | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         public string ClientName => "Admob"; | 
					
						
							|  |  |  |         private AdmobBannerAdManager _admobBannerAdManager; | 
					
						
							|  |  |  |         private AdmobInterstitialAdManager _admobInterstitialAdManager; | 
					
						
							|  |  |  |         private AdmobRewardedAdManager _admobRewardedAdManager; | 
					
						
							|  |  |  |         private AdmobNativeAdManager _admobNativeAdManager; | 
					
						
							|  |  |  |         private AdmobSplashAdManager _admobSplashAdManager; | 
					
						
							|  |  |  |         private List<string> _interstitialAdUnits; | 
					
						
							|  |  |  |         private List<string> _rewardedAdUnits; | 
					
						
							|  |  |  |         private List<string> _nativeAdUnits; | 
					
						
							|  |  |  |         private List<string> _splashAdUnits; | 
					
						
							|  |  |  |         private List<string> _bannerAdUnits; | 
					
						
							| 
									
										
										
										
											2025-08-31 05:15:14 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |         private string _rvPos; | 
					
						
							|  |  |  |         private string _ivPos; | 
					
						
							|  |  |  |         private Action<bool> _rvCloseCallback = null; | 
					
						
							|  |  |  |         private Action _ivCloseCallback = null; | 
					
						
							|  |  |  |         private Action _rvShowFailedCallback = null; | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |         private bool _initialized; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         public void Initialize() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             MobileAds.RaiseAdEventsOnUnityMainThread = true; | 
					
						
							|  |  |  |             _bannerAdUnits = AdConfigParser.GetAdmobAdUnits(AdsType.Banner); | 
					
						
							|  |  |  |             MobileAds.Initialize(initStatus => | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 if (_bannerAdUnits.Count > 0) | 
					
						
							|  |  |  |                 { | 
					
						
							|  |  |  |                     _admobBannerAdManager = new AdmobBannerAdManager(); | 
					
						
							|  |  |  |                     _admobBannerAdManager.InitializeAdUnits(BannerAliignType.BannerCenterBottomAlign, | 
					
						
							|  |  |  |                         _bannerAdUnits, | 
					
						
							|  |  |  |                         OnBannerAdLoaded, | 
					
						
							|  |  |  |                         OnBannerAdLoadFailed, | 
					
						
							|  |  |  |                         OnBannerAdPaid, | 
					
						
							|  |  |  |                         OnBannerAdClicked | 
					
						
							|  |  |  |                     ); | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |                 if (_interstitialAdUnits.Count > 0) LoadInterstitial(); | 
					
						
							|  |  |  |                 if (_rewardedAdUnits.Count > 0) LoadRewarded(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 LoadSplash(); | 
					
						
							|  |  |  |                 _initialized = true; | 
					
						
							|  |  |  |                 LoggerUtils.Debug("[Admob] init success"); | 
					
						
							|  |  |  |             }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         #region 激励广告功能 | 
					
						
							|  |  |  |         public void LoadRewarded() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             _admobRewardedAdManager.Destroy(); | 
					
						
							| 
									
										
										
										
											2025-08-31 07:12:52 +00:00
										 |  |  |             _admobRewardedAdManager = new AdmobRewardedAdManager(); | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |             _admobRewardedAdManager.InitializeAdUnits( | 
					
						
							|  |  |  |                 _rewardedAdUnits, | 
					
						
							|  |  |  |                 OnRewardedAdLoaded, | 
					
						
							|  |  |  |                 OnRewardedAdLoadFailed, | 
					
						
							|  |  |  |                 OnRewardedAdShowed, | 
					
						
							|  |  |  |                 OnRewardedAdDismissed, | 
					
						
							|  |  |  |                 OnRewardedAdError, | 
					
						
							|  |  |  |                 OnRewardAdPaid, | 
					
						
							|  |  |  |                 OnRewardedAdClicked | 
					
						
							|  |  |  |             ); | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2025-08-31 05:15:14 +00:00
										 |  |  |         public void DisplayRewarded(string adPos, Action<bool> rewardCallback = null, Action showFailedCallback = null) | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |         { | 
					
						
							| 
									
										
										
										
											2025-08-31 05:15:14 +00:00
										 |  |  |             _rvPos = adPos; | 
					
						
							|  |  |  |             _rvCloseCallback = rewardCallback; | 
					
						
							|  |  |  |             _rvShowFailedCallback = showFailedCallback; | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |             _admobRewardedAdManager.ShowHighestPayingAd(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         public double GetRewardedRevenue() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             return _admobRewardedAdManager.GetHighestPayingAdRevenue(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         public bool IsRewardedAvailable() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             if (!_initialized) return false; | 
					
						
							|  |  |  |             return _admobRewardedAdManager.GetAvailableAdUnits().Count > 0; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnRewardedAdLoaded(string adUnitId) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnRewardedAdLoadFailed(string adUnitId, int errorCode, string errorMsg) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnRewardedAdShowed(string adUnitId) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnRewardedAdDismissed(string adUnitId) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-31 05:15:14 +00:00
										 |  |  |             _rvCloseCallback?.Invoke(true); | 
					
						
							|  |  |  |             _rvCloseCallback = null; | 
					
						
							|  |  |  |             LoadRewarded(); | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnRewardedAdError(string adUnitId, int errorCode, string errorMsg) | 
					
						
							|  |  |  |         { | 
					
						
							| 
									
										
										
										
											2025-08-31 05:15:14 +00:00
										 |  |  |             _rvShowFailedCallback?.Invoke(); | 
					
						
							|  |  |  |             _rvShowFailedCallback = null; | 
					
						
							|  |  |  |             LoadRewarded(); | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnRewardedAdClicked(string adUnitId) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnRewardAdPaid(AdValue adValue) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         #endregion | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         #region 插页广告功能 | 
					
						
							|  |  |  |         public void LoadInterstitial() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             _admobInterstitialAdManager.Destroy(); | 
					
						
							| 
									
										
										
										
											2025-08-31 07:12:52 +00:00
										 |  |  |             _admobInterstitialAdManager = new AdmobInterstitialAdManager(); | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |             _admobInterstitialAdManager.InitializeAdUnits( | 
					
						
							|  |  |  |                 _interstitialAdUnits, | 
					
						
							|  |  |  |                 OnInterstitialAdLoaded, | 
					
						
							|  |  |  |                 OnInterstitialAdLoadFailed, | 
					
						
							|  |  |  |                 OnInterstitialAdShowed, | 
					
						
							|  |  |  |                 OnInterstitialAdDismissed, | 
					
						
							|  |  |  |                 OnInterstitialAdError, | 
					
						
							|  |  |  |                 OnInterstitialAdPaid, | 
					
						
							|  |  |  |                 OnInterstitialAdClicked | 
					
						
							|  |  |  |             ); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         public double GetInterstitialRevenue() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             return _admobInterstitialAdManager.GetHighestPayingAdRevenue(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-31 05:15:14 +00:00
										 |  |  |         public void DisplayInterstitial(string ivPos, IvType _IvType = IvType.IV1, Action closeCallback = null) | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |         { | 
					
						
							| 
									
										
										
										
											2025-08-31 05:15:14 +00:00
										 |  |  |             _ivPos = ivPos; | 
					
						
							|  |  |  |             _ivCloseCallback = closeCallback; | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |             _admobInterstitialAdManager.ShowHighestPayingAd(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         public bool IsInterstitialAvailable() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             if (!_initialized) return false; | 
					
						
							|  |  |  |             return _admobInterstitialAdManager.GetAvailableAdUnits().Count > 0; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnInterstitialAdLoaded(string adUnitId) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnInterstitialAdLoadFailed(string adUnitId, int errorCode, string errorMsg) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         private void OnInterstitialAdClicked(string adUnitId) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnInterstitialAdPaid(AdValue adValue) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnInterstitialAdShowed(string adUnitId) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnInterstitialAdDismissed(string adUnitId) | 
					
						
							|  |  |  |         { | 
					
						
							| 
									
										
										
										
											2025-08-31 05:15:14 +00:00
										 |  |  |             _ivCloseCallback?.Invoke(); | 
					
						
							|  |  |  |             _ivCloseCallback = null; | 
					
						
							|  |  |  |             LoadInterstitial(); | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnInterstitialAdError(string adUnitId, int errorCode, string errorMsg) | 
					
						
							|  |  |  |         { | 
					
						
							| 
									
										
										
										
											2025-08-31 05:15:14 +00:00
										 |  |  |             _ivCloseCallback?.Invoke(); | 
					
						
							|  |  |  |             _ivCloseCallback = null; | 
					
						
							|  |  |  |             LoadInterstitial(); | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |         } | 
					
						
							|  |  |  |         #endregion | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         #region 开屏广告功能 | 
					
						
							|  |  |  |         public void LoadSplash() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             _admobSplashAdManager.Destroy(); | 
					
						
							| 
									
										
										
										
											2025-08-31 07:12:52 +00:00
										 |  |  |             _admobSplashAdManager = new AdmobSplashAdManager(); | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |             _admobSplashAdManager.InitializeAdUnits( | 
					
						
							|  |  |  |                 _splashAdUnits, | 
					
						
							|  |  |  |                 OnSplashAdLoaded, | 
					
						
							|  |  |  |                 OnSplashAdLoadFailed, | 
					
						
							|  |  |  |                 OnSplashAdShowed, | 
					
						
							|  |  |  |                 OnSplashAdDismissed, | 
					
						
							|  |  |  |                 OnSplashAdError, | 
					
						
							|  |  |  |                 OnSplashAdPaid, | 
					
						
							|  |  |  |                 OnSplashAdClicked | 
					
						
							|  |  |  |             ); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         public bool IsSplashAvailable() | 
					
						
							|  |  |  |         { | 
					
						
							| 
									
										
										
										
											2025-08-31 01:11:05 +00:00
										 |  |  |             if (!_initialized) return false; | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |             return _admobBannerAdManager.GetAvailableAdUnits().Count > 0; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         public void DisplaySplash() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             _admobSplashAdManager.ShowHighestPayingAd(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         public double GetSplashRevenue() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             return _admobSplashAdManager.GetHighestPayingAdRevenue(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnSplashAdLoaded(string adUnitId) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnSplashAdLoadFailed(string adUnitId, int errorCode, string errorMsg) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnSplashAdShowed(string adUnitId) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnSplashAdDismissed(string adUnitId) | 
					
						
							|  |  |  |         { | 
					
						
							| 
									
										
										
										
											2025-08-31 08:26:53 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnSplashAdError(string adUnitId, int errorCode, string errorMsg) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnSplashAdClicked(string adUnitId) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnSplashAdPaid(AdValue adValue) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         #endregion | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         #region 原生广告功能 | 
					
						
							|  |  |  |         public void LoadNative() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             throw new System.NotImplementedException(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         public double GetNativeRevenue() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             return 0; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         public void DisplayNative(NativeAdPosition position) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         public bool IsNativeAvailable() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             return false; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         public void RemoveNative() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         #endregion | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         #region 横幅广告功能 | 
					
						
							|  |  |  |         public void LoadBanner() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             foreach (var adUnitId in _bannerAdUnits) | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 _admobBannerAdManager.LoadAd(adUnitId); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         public bool IsBannerAvailable() | 
					
						
							|  |  |  |         { | 
					
						
							| 
									
										
										
										
											2025-08-31 01:11:05 +00:00
										 |  |  |             if (!_initialized) return false; | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |             return _admobBannerAdManager.GetAvailableAdUnits().Count > 0; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         public void HideBanner() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             _admobBannerAdManager.HideBanner(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         public double GetBannerRevenue() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             return _admobBannerAdManager.GetHighestPayingAdRevenue(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         public void DisplayBanner() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             _admobBannerAdManager.ShowHighestPayingAd(); | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2025-08-31 08:26:53 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |         private void OnBannerAdLoaded(string adUnitId) | 
					
						
							| 
									
										
										
										
											2025-08-31 08:26:53 +00:00
										 |  |  |         { | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnBannerAdLoadFailed(string adUnitId, int errorCode, string errorMsg) | 
					
						
							| 
									
										
										
										
											2025-08-31 08:26:53 +00:00
										 |  |  |         { | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnBannerAdClicked() | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         private void OnBannerAdPaid(AdValue adValue) | 
					
						
							| 
									
										
										
										
											2025-08-31 08:26:53 +00:00
										 |  |  |         { | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         #endregion | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-31 08:26:53 +00:00
										 |  |  |         #region  收益上报 | 
					
						
							| 
									
										
										
										
											2025-08-31 12:29:24 +00:00
										 |  |  |         public void TrackAdImpression(AdapterResponseInfo loadedAdapterResponseInfo, AdValue adValue, AdsType type, string placement) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             AdjustTrackEvent.Instance.TrackAdEvent(adValue.Value / 1000000f, | 
					
						
							|  |  |  |                 loadedAdapterResponseInfo.AdSourceName, | 
					
						
							|  |  |  |                 placement, | 
					
						
							|  |  |  |                 loadedAdapterResponseInfo.AdSourceInstanceName); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             FireBaseAnalyticsManager.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(), | 
					
						
							|  |  |  |                 loadedAdapterResponseInfo.AdSourceName, | 
					
						
							|  |  |  |                 placement, type.ToString(), | 
					
						
							|  |  |  |                 adValue.Value / 1000000f, | 
					
						
							|  |  |  |                 type == AdsType.Rewarded ? _rvPos : "", | 
					
						
							|  |  |  |                 AdPlayCountManager.GetAdPlayCount(type)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             ShuShuEvent.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(), | 
					
						
							|  |  |  |                 loadedAdapterResponseInfo.AdSourceName, | 
					
						
							|  |  |  |                 placement, type.ToString(), | 
					
						
							|  |  |  |                 adValue.Value / 1000000f, | 
					
						
							|  |  |  |                 type == AdsType.Rewarded ? _rvPos : "", | 
					
						
							|  |  |  |                 AdPlayCountManager.GetAdPlayCount(type)); | 
					
						
							| 
									
										
										
										
											2025-08-31 08:26:53 +00:00
										 |  |  |         } | 
					
						
							|  |  |  |         #endregion | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-30 13:48:51 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 |