fix: 广告 SDK 优化广告重试时间 从最高间隔 8 秒 -> 64 秒, 减少无网时高频请求
--story=1020971 --user=yufei.hu 【中台】【ADS】优化 IV 和 RV 广告加载失败后的重试等待时间 https://www.tapd.cn/33527076/s/1157502 Signed-off-by: huyufei <yufei.hu@castbox.fm>main
							parent
							
								
									19a46fff1e
								
							
						
					
					
						commit
						72bf076537
					
				|  | @ -22,6 +22,8 @@ namespace Guru | ||||||
|         public bool IsInitialized => MaxSdk.IsInitialized() || _isServiceStarted; |         public bool IsInitialized => MaxSdk.IsInitialized() || _isServiceStarted; | ||||||
|         protected bool IsNetworkEnabled => Application.internetReachability != NetworkReachability.NotReachable; |         protected bool IsNetworkEnabled => Application.internetReachability != NetworkReachability.NotReachable; | ||||||
| 
 | 
 | ||||||
|  |         private const int MAX_ADS_RELOAD_INTERVAL = 6; // 广告加载最高时间为 2 的 6 次方 = 64秒 | ||||||
|  | 
 | ||||||
|         private bool _isServiceStarted; |         private bool _isServiceStarted; | ||||||
| 
 | 
 | ||||||
|         protected Action _onSdkInitReady; |         protected Action _onSdkInitReady; | ||||||
|  | @ -149,6 +151,13 @@ namespace Guru | ||||||
|             set => Model.BuyNoAds = value; |             set => Model.BuyNoAds = value; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         private float GetRetryDelaySeconds(int retryCount) | ||||||
|  |         { | ||||||
|  |             // 最低 2^retryCount 秒 | ||||||
|  |             // 最高 2^6 = 64 秒 | ||||||
|  |             return (float)Math.Pow(2, Math.Min(MAX_ADS_RELOAD_INTERVAL, retryCount)); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         #region Lifecycele |         #region Lifecycele | ||||||
|          |          | ||||||
|         public void OnAppPaused(bool paused) |         public void OnAppPaused(bool paused) | ||||||
|  | @ -511,8 +520,8 @@ namespace Guru | ||||||
|             this.LogError( |             this.LogError( | ||||||
|                 $"OnInterstitialFailedEvent AdLoadFailureInfo:{errorInfo.AdLoadFailureInfo}, Message: {errorInfo.Message}"); |                 $"OnInterstitialFailedEvent AdLoadFailureInfo:{errorInfo.AdLoadFailureInfo}, Message: {errorInfo.Message}"); | ||||||
|             _interstitialRetryAttempt++; |             _interstitialRetryAttempt++; | ||||||
|             double retryDelay = Math.Pow(2, Math.Min(3, _interstitialRetryAttempt)); |             float retryDelay = GetRetryDelaySeconds(_interstitialRetryAttempt); | ||||||
|             DelayCall((float)retryDelay, RequestInterstitialAD); |             DelayCall(retryDelay, RequestInterstitialAD); | ||||||
|             // Analytics.ADIadsFailed(adUnitId, (int)errorInfo.Code, GetAdsLoadDuration(ref _iadsLoadStartTime), _iadsCategory); |             // Analytics.ADIadsFailed(adUnitId, (int)errorInfo.Code, GetAdsLoadDuration(ref _iadsLoadStartTime), _iadsCategory); | ||||||
|             Analytics.ADIadsFailed(AdParams.Build(adUnitId, |             Analytics.ADIadsFailed(AdParams.Build(adUnitId, | ||||||
|                 duration: GetAdsLoadDuration(ref _iadsLoadStartTime), category: _iadsCategory, |                 duration: GetAdsLoadDuration(ref _iadsLoadStartTime), category: _iadsCategory, | ||||||
|  | @ -669,8 +678,8 @@ namespace Guru | ||||||
|                 errorCode: (int)errorInfo.Code, |                 errorCode: (int)errorInfo.Code, | ||||||
|                 waterfallName: errorInfo?.WaterfallInfo?.Name ?? "")); |                 waterfallName: errorInfo?.WaterfallInfo?.Name ?? "")); | ||||||
|             _rewardRetryAttempt++; |             _rewardRetryAttempt++; | ||||||
|             double retryDelay = Math.Pow(2, Math.Min(3, _rewardRetryAttempt)); |             float retryDelay = GetRetryDelaySeconds(_rewardRetryAttempt); | ||||||
|             DelayCall((float)retryDelay, RequestRewardedAD); |             DelayCall(retryDelay, RequestRewardedAD); | ||||||
| 
 | 
 | ||||||
|             OnRewardFailed?.Invoke(); |             OnRewardFailed?.Invoke(); | ||||||
|         } |         } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue