diff --git a/Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs b/Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs index ae2b0ed..c2d1f29 100644 --- a/Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs +++ b/Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs @@ -67,7 +67,7 @@ namespace Guru MaxSdkCallbacks.OnSdkInitializedEvent += OnMaxSdkInitializedCallBack; MaxSdkCallbacks.Interstitial.OnAdRevenuePaidEvent += OnAdRevenuePaidEvent; MaxSdkCallbacks.Rewarded.OnAdRevenuePaidEvent += OnAdRevenuePaidEvent; - MaxSdkCallbacks.Banner.OnAdRevenuePaidEvent += OnAdRevenuePaidEvent; + MaxSdkCallbacks.Banner.OnAdRevenuePaidEvent += OnBannerRevenuePaidEvent; MaxSdkCallbacks.MRec.OnAdRevenuePaidEvent += OnAdRevenuePaidEvent; //--------------- Banner 回调 ----------------- MaxSdkCallbacks.Banner.OnAdLoadedEvent += OnBannerLoadedEvent; @@ -217,6 +217,7 @@ namespace Guru private Color _backColor = new Color(0, 0, 0, 0); private string _badsCategory; protected float _badsloadStartTime = 0; + private bool _bannerVisible = false; private int GetAdsLoadDuration(ref float startTime) @@ -267,11 +268,13 @@ namespace Guru MaxSdk.ShowBanner(adUnitId); MaxSdk.SetBannerBackgroundColor(adUnitId, _backColor); OnBannerImpEvent(adUnitId); + _bannerVisible = true; } public virtual void HideBanner() { MaxSdk.HideBanner(GetBannerID()); + _bannerVisible = false; } /// @@ -312,6 +315,20 @@ namespace Guru // Analytics.ADBadsClick(adUnitId, _badsCategory); Analytics.ADBadsImp(AdParams.Build(adUnitId, category: _badsCategory)); } + + /// + /// Banner 收益打点 + /// + /// + /// + private void OnBannerRevenuePaidEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) + { + if (_bannerVisible) + { + OnAdRevenuePaidEvent(adUnitId, adInfo); // Banner 只有显示时才上报收益值 + } + } + #endregion