diff --git a/Runtime/GuruCore/Runtime/Ads/ADService.cs b/Runtime/GuruCore/Runtime/Ads/ADService.cs
index 7a754a2..c5c2756 100644
--- a/Runtime/GuruCore/Runtime/Ads/ADService.cs
+++ b/Runtime/GuruCore/Runtime/Ads/ADService.cs
@@ -164,11 +164,12 @@ namespace Guru
///
private void OnChannelLoadRewardAD()
{
+ // 各 Channel 都去加载激励视频
foreach (var channel in _adChannels)
{
channel?.LoadRewardAD();
}
- // if (_asyncLoader == null)
+ // 最后 Max 渠道进行加载
OnLoadMaxRV();
}
diff --git a/Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs b/Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs
index 0468424..84a248f 100644
--- a/Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs
+++ b/Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs
@@ -227,7 +227,7 @@ namespace Guru
private int GetAdsLoadDuration(ref float startTime)
{
int duration = (int)((Time.realtimeSinceStartup - startTime) * 1000);
- startTime = 0;
+ startTime = Time.realtimeSinceStartup;
return duration;
}
@@ -264,7 +264,16 @@ namespace Guru
_badsloadStartTime = Time.realtimeSinceStartup;
}
+ protected virtual void OnBadsLoaded()
+ {
+ _badsloadStartTime = Time.realtimeSinceStartup;
+ OnBannerLoaded?.Invoke();
+ }
+ ///
+ /// 显示 Banner
+ ///
+ ///
public virtual void ShowBanner(string category = "")
{
_badsCategory = category;
@@ -272,13 +281,19 @@ namespace Guru
MaxSdk.ShowBanner(adUnitId);
MaxSdk.SetBannerBackgroundColor(adUnitId, _backColor);
OnBannerImpEvent(adUnitId);
+ MaxSdk.StartBannerAutoRefresh(adUnitId);
_bannerVisible = true;
}
+ ///
+ /// 隐藏 Banner
+ ///
public virtual void HideBanner()
{
MaxSdk.HideBanner(GetBannerID());
+ MaxSdk.StopBannerAutoRefresh(GetBannerID());
_bannerVisible = false;
+
}
///
@@ -295,8 +310,7 @@ namespace Guru
// Analytics.ADBadsLoaded(adUnitId, GetAdsLoadDuration(ref _badsloadStartTime), _badsCategory);
Analytics.ADBadsLoaded(AdParams.Build(adUnitId, adInfo,
duration: GetAdsLoadDuration(ref _badsloadStartTime), category: _badsCategory));
-
- OnBannerLoaded?.Invoke();
+ OnBadsLoaded();
}
private void OnBannerFailedEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo)
@@ -331,8 +345,7 @@ namespace Guru
{
OnAdRevenuePaidEvent(adUnitId, adInfo); // Banner 只有显示时才上报收益值
}
- }
-
+ }
#endregion
@@ -561,7 +574,7 @@ namespace Guru
// this.Log("OnRewardedAdLoadedEvent");
// Analytics.ADRadsLoaded(adUnitId, GetAdsLoadDuration(ref _radsLoadStartTime), _rewardCategory);
Analytics.ADRadsLoaded(AdParams.Build(adUnitId,
- duration: GetAdsLoadDuration(ref _iadsLoadStartTime), category: _iadsCategory));
+ duration: GetAdsLoadDuration(ref _radsLoadStartTime), category: _iadsCategory));
_rewardRetryAttempt = 0;
OnRewardLoaded?.Invoke();
diff --git a/Runtime/GuruCore/Runtime/Ads/Channels/Max/AdChanelMax.cs b/Runtime/GuruCore/Runtime/Ads/Channels/Max/AdChanelMax.cs
index 45c2ca6..902bdb6 100644
--- a/Runtime/GuruCore/Runtime/Ads/Channels/Max/AdChanelMax.cs
+++ b/Runtime/GuruCore/Runtime/Ads/Channels/Max/AdChanelMax.cs
@@ -2,6 +2,7 @@
namespace Guru
{
using UnityEngine;
+ using System;
///
/// MAX 自有渠道初始化
@@ -15,15 +16,14 @@ namespace Guru
public bool IsEnabled => true;
public Color BannerBackColor { get; set; }
-
#endregion
#region 广告位
// ---------------- Max 广告位ID --------------------
- private string MaxBannerSlotID => GuruSettings.Instance.ADSetting.GetBannerID();
- private string MaxIVSlotID => GuruSettings.Instance.ADSetting.GetInterstitialID();
- private string MaxRVSlotID => GuruSettings.Instance.ADSetting.GetRewardedVideoID();
+ internal string MaxBannerSlotID => GuruSettings.Instance.ADSetting.GetBannerID();
+ internal string MaxIVSlotID => GuruSettings.Instance.ADSetting.GetInterstitialID();
+ internal string MaxRVSlotID => GuruSettings.Instance.ADSetting.GetRewardedVideoID();
#endregion