fix: 修复 RADS 广告加载时长不准确的 BUG

deeplink
胡宇飞 2024-04-15 13:31:13 +08:00
parent b22018bd7c
commit 62bf31437f
3 changed files with 25 additions and 11 deletions

View File

@ -164,11 +164,12 @@ namespace Guru
/// </summary>
private void OnChannelLoadRewardAD()
{
// 各 Channel 都去加载激励视频
foreach (var channel in _adChannels)
{
channel?.LoadRewardAD();
}
// if (_asyncLoader == null)
// 最后 Max 渠道进行加载
OnLoadMaxRV();
}

View File

@ -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();
}
/// <summary>
/// 显示 Banner
/// </summary>
/// <param name="category"></param>
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;
}
/// <summary>
/// 隐藏 Banner
/// </summary>
public virtual void HideBanner()
{
MaxSdk.HideBanner(GetBannerID());
MaxSdk.StopBannerAutoRefresh(GetBannerID());
_bannerVisible = false;
}
/// <summary>
@ -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();

View File

@ -2,6 +2,7 @@
namespace Guru
{
using UnityEngine;
using System;
/// <summary>
/// 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