diff --git a/Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs b/Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs index 6912de1..8906ef6 100644 --- a/Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs +++ b/Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs @@ -140,19 +140,13 @@ namespace Guru { if (paused) { - if (IsBannerVisible) - { - _isBannerSetToShow = true; - HideBanner(); - } + _isBannerSetToShow = true; + if(IsBannerVisible) SetBannerAutoRefresh(false); } else { - if (_isBannerSetToShow) - { - _isBannerSetToShow = false; - if(!IsBannerVisible) ShowBanner(); - } + _isBannerSetToShow = false; + if(IsBannerVisible) SetBannerAutoRefresh(true); } } @@ -294,6 +288,19 @@ namespace Guru _badsloadStartTime = Time.realtimeSinceStartup; OnBannerLoaded?.Invoke(); } + + public virtual void SetBannerAutoRefresh(bool value = true, string adUnitId = "") + { + if(string.IsNullOrEmpty(adUnitId)) adUnitId = GetBannerID(); + if (value) + { + MaxSdk.StartBannerAutoRefresh(adUnitId); + } + else + { + MaxSdk.StopBannerAutoRefresh(adUnitId); + } + } /// /// 显示 Banner @@ -306,7 +313,7 @@ namespace Guru MaxSdk.ShowBanner(adUnitId); MaxSdk.SetBannerBackgroundColor(adUnitId, _backColor); OnBannerImpEvent(adUnitId); - MaxSdk.StartBannerAutoRefresh(adUnitId); + SetBannerAutoRefresh(true, adUnitId); _bannerVisible = true; } @@ -316,7 +323,7 @@ namespace Guru public virtual void HideBanner() { MaxSdk.HideBanner(GetBannerID()); - MaxSdk.StopBannerAutoRefresh(GetBannerID()); + SetBannerAutoRefresh(true, GetBannerID()); _bannerVisible = false; }