From 754ea97fb496fc131ab94c3040b9f16733751920 Mon Sep 17 00:00:00 2001 From: huyufei Date: Sun, 31 Mar 2024 18:06:57 +0800 Subject: [PATCH] =?UTF-8?q?update:=20=E6=9B=B4=E6=96=B0Banner=E5=B9=BF?= =?UTF-8?q?=E5=91=8A=E5=88=9D=E5=A7=8B=E5=8C=96=E9=85=8D=E7=BD=AE=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Runtime/GuruCore/Runtime/Ads/ADService.cs | 3 ++- Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs | 10 +++++-- Runtime/GuruCore/Runtime/Ads/AdsInitSpec.cs | 10 +++++-- .../Runtime/Ads/Channels/Max/AdChanelMax.cs | 7 +++++ Runtime/Utils/Runtime/GuruSDKUtils.cs | 26 +++++++++++++++++++ Runtime/Utils/Runtime/GuruSDKUtils.cs.meta | 3 +++ 6 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 Runtime/Utils/Runtime/GuruSDKUtils.cs create mode 100644 Runtime/Utils/Runtime/GuruSDKUtils.cs.meta diff --git a/Runtime/GuruCore/Runtime/Ads/ADService.cs b/Runtime/GuruCore/Runtime/Ads/ADService.cs index 9ca592e..2a6808c 100644 --- a/Runtime/GuruCore/Runtime/Ads/ADService.cs +++ b/Runtime/GuruCore/Runtime/Ads/ADService.cs @@ -13,7 +13,7 @@ namespace Guru /// /// 版本号 /// - public static readonly string Version = "1.4.0"; + public static readonly string Version = "1.6.0"; #region 初始化 @@ -45,6 +45,7 @@ namespace Guru _chanelMax = new AdChanelMax(); // 默认持有MAXChannel _chanelMax.Initialize(); + if(_initSpec != null) _chanelMax.SetBannerBackColor(_initSpec.bannerColorHex); //------------ 以下为扩展的广告渠道 ------------------ // 请根据项目需求实现各渠道接入的逻辑 diff --git a/Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs b/Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs index 1892338..ae2b0ed 100644 --- a/Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs +++ b/Runtime/GuruCore/Runtime/Ads/ADServiceBase.cs @@ -34,8 +34,8 @@ namespace Guru public static Action OnRewardLoaded; public static Action OnRewardFailed; - private AdsModel _model; - private AdsInitSpec _initSpec = null; + protected AdsModel _model; + protected AdsInitSpec _initSpec = null; public AdsModel Model { @@ -228,6 +228,12 @@ namespace Guru public virtual void RequestBannerAD() { + _backColor = Color.clear; + if (_initSpec != null) + { + _backColor = GuruSDKUtils.HexToColor(_initSpec.bannerColorHex); + } + LoadMaxBannerAd(); } diff --git a/Runtime/GuruCore/Runtime/Ads/AdsInitSpec.cs b/Runtime/GuruCore/Runtime/Ads/AdsInitSpec.cs index a038986..13e8f8b 100644 --- a/Runtime/GuruCore/Runtime/Ads/AdsInitSpec.cs +++ b/Runtime/GuruCore/Runtime/Ads/AdsInitSpec.cs @@ -1,5 +1,9 @@ + + namespace Guru { + using UnityEngine; + public class AdsInitSpec { public bool loadBanner; @@ -7,10 +11,11 @@ namespace Guru public bool loadRewarded; public bool autoLoad; public bool isDebug; + public string bannerColorHex; public static AdsInitSpec Build(bool loadBanner = true, bool loadInterstitial = true, bool loadReward = true, - bool autoLoad = true, bool isDebug = false) + bool autoLoad = true, bool isDebug = false, string bannerColorHex = "#00000000") { return new AdsInitSpec { @@ -18,7 +23,8 @@ namespace Guru loadInterstitial = loadInterstitial, loadRewarded = loadReward, autoLoad = autoLoad, - isDebug = isDebug + isDebug = isDebug, + bannerColorHex = bannerColorHex }; } diff --git a/Runtime/GuruCore/Runtime/Ads/Channels/Max/AdChanelMax.cs b/Runtime/GuruCore/Runtime/Ads/Channels/Max/AdChanelMax.cs index c3b8bf0..45c2ca6 100644 --- a/Runtime/GuruCore/Runtime/Ads/Channels/Max/AdChanelMax.cs +++ b/Runtime/GuruCore/Runtime/Ads/Channels/Max/AdChanelMax.cs @@ -14,6 +14,7 @@ namespace Guru public string Name => ChanelName; public bool IsEnabled => true; + public Color BannerBackColor { get; set; } #endregion @@ -56,6 +57,12 @@ namespace Guru Analytics.ADBadsLoad(AdParams.Build(MaxBannerSlotID)); } + public void SetBannerBackColor(string hex) + { + if (string.IsNullOrEmpty(hex)) return; + _backColor = GuruSDKUtils.HexToColor(hex); + } + #endregion #region Interstitial diff --git a/Runtime/Utils/Runtime/GuruSDKUtils.cs b/Runtime/Utils/Runtime/GuruSDKUtils.cs new file mode 100644 index 0000000..f900c0a --- /dev/null +++ b/Runtime/Utils/Runtime/GuruSDKUtils.cs @@ -0,0 +1,26 @@ +namespace Guru +{ + using UnityEngine; + + + public static class GuruSDKUtils + { + public static Color HexToColor(string hexString) + { + if(string.IsNullOrEmpty(hexString)) return Color.clear; + + var hex = hexString.Replace("#", ""); + if(hex.Length < 6) return Color.clear; + + byte r = byte.Parse(hex.Substring(0, 2), System.Globalization.NumberStyles.HexNumber); + byte g = byte.Parse(hex.Substring(2, 2), System.Globalization.NumberStyles.HexNumber); + byte b = byte.Parse(hex.Substring(4, 2), System.Globalization.NumberStyles.HexNumber); + byte a = 255; + if (hex.Length >= 8) + { + a = byte.Parse(hex.Substring(6, 2), System.Globalization.NumberStyles.HexNumber); + } + return new Color(r, g, b, a); + } + } +} \ No newline at end of file diff --git a/Runtime/Utils/Runtime/GuruSDKUtils.cs.meta b/Runtime/Utils/Runtime/GuruSDKUtils.cs.meta new file mode 100644 index 0000000..f3081df --- /dev/null +++ b/Runtime/Utils/Runtime/GuruSDKUtils.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d4d6bd46cf16425a8914750598dcecc5 +timeCreated: 1711879071 \ No newline at end of file