From 166a91f84bfc6ec931860c0a980f4d20a6feb56e Mon Sep 17 00:00:00 2001 From: juncong lee Date: Mon, 3 Nov 2025 15:58:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=94=A8=E6=88=B7=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E4=B8=8D=E5=B1=95=E7=A4=BA=E5=BC=80=E5=B1=8F=E5=B9=BF=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Platform/Android/AndroidPlatformTool.cs | 2 +- .../Scripts/Platform/Android/KwaiAdSDKInit.cs | 8 +++--- .../Android/KwaiInterstitialAdController.cs | 10 ++++---- .../Android/KwaiRewardAdController.cs | 10 ++++---- .../AdmobAdsManager/AdmobAdsManager.cs | 4 +-- .../SDKManager/AdsSDKManager/AdsSDKManager.cs | 6 +---- .../AdsSDKManager/AdsSplashManager.cs | 25 ++++++++++++++----- Assets/Script/SDKManager/RushSDKManager.cs | 5 ++-- Assets/Script/Version/Version.md | 15 +++++++++++ 9 files changed, 55 insertions(+), 30 deletions(-) diff --git a/Assets/KwaiAds/Scripts/Platform/Android/AndroidPlatformTool.cs b/Assets/KwaiAds/Scripts/Platform/Android/AndroidPlatformTool.cs index 1285bfe..7a9249b 100644 --- a/Assets/KwaiAds/Scripts/Platform/Android/AndroidPlatformTool.cs +++ b/Assets/KwaiAds/Scripts/Platform/Android/AndroidPlatformTool.cs @@ -3,7 +3,7 @@ using UnityEngine; namespace BigoAds.Scripts.Platforms.Android { - internal static class AndroidPlatformTool + internal static class KwaiAndroidPlatformTool { public const string ClassPackage = "com.kwai.network.sdk"; private const string CurrentActivityMethod = "currentActivity"; diff --git a/Assets/KwaiAds/Scripts/Platform/Android/KwaiAdSDKInit.cs b/Assets/KwaiAds/Scripts/Platform/Android/KwaiAdSDKInit.cs index e527171..fb1f1b9 100644 --- a/Assets/KwaiAds/Scripts/Platform/Android/KwaiAdSDKInit.cs +++ b/Assets/KwaiAds/Scripts/Platform/Android/KwaiAdSDKInit.cs @@ -11,9 +11,9 @@ namespace KwaiAds.Scripts.Platforms.Android public class KwaiAdSDKInit { private const string TAG = "[KwaiAdSDK-INIT]"; - private const string SDKClientClassName = AndroidPlatformTool.ClassPackage + ".KwaiAdSDK"; - private const string SDKClientBuilder = AndroidPlatformTool.ClassPackage + ".api.SdkConfig$Builder"; - private const string SDKClientInitCallback = AndroidPlatformTool.ClassPackage + ".api.KwaiInitCallback"; + private const string SDKClientClassName = KwaiAndroidPlatformTool.ClassPackage + ".KwaiAdSDK"; + private const string SDKClientBuilder = KwaiAndroidPlatformTool.ClassPackage + ".api.SdkConfig$Builder"; + private const string SDKClientInitCallback = KwaiAndroidPlatformTool.ClassPackage + ".api.KwaiInitCallback"; private static AndroidJavaClass kwaiAdSdkClass; private static KwaiAdConfig config; @@ -122,7 +122,7 @@ namespace KwaiAds.Scripts.Platforms.Android sdkConfigBuilder.Call("debug", config.DebugLog); } - AndroidJavaObject currentActivity = AndroidPlatformTool.GetGameActivity(); + AndroidJavaObject currentActivity = KwaiAndroidPlatformTool.GetGameActivity(); if (currentActivity != null) { AndroidJavaObject contextObject = currentActivity.Call("getApplicationContext"); diff --git a/Assets/KwaiAds/Scripts/Platform/Android/KwaiInterstitialAdController.cs b/Assets/KwaiAds/Scripts/Platform/Android/KwaiInterstitialAdController.cs index 71d06b3..15b420e 100644 --- a/Assets/KwaiAds/Scripts/Platform/Android/KwaiInterstitialAdController.cs +++ b/Assets/KwaiAds/Scripts/Platform/Android/KwaiInterstitialAdController.cs @@ -9,10 +9,10 @@ namespace KwaiAds.Scripts.Platforms.Android public class KwaiInterstitialAdController : IInterstitialAdController { private const string TAG = "[KwaiAdSDK-InterstitialAdController]"; - private const string InterstitialAdConfigBuilderClassName = AndroidPlatformTool.ClassPackage + ".loader.business.interstitial.data.KwaiInterstitialAdConfig$Builder"; - private const string KwaiInterstitialAdListenerClassName = AndroidPlatformTool.ClassPackage + ".loader.business.interstitial.interf.IKwaiInterstitialAdListener"; - private const string AdLoadListenerClassName = AndroidPlatformTool.ClassPackage + ".loader.common.interf.AdLoadListener"; - private const string KwaiInterstitialAdRequestClassName = AndroidPlatformTool.ClassPackage + ".loader.business.interstitial.data.KwaiInterstitialAdRequest"; + private const string InterstitialAdConfigBuilderClassName = KwaiAndroidPlatformTool.ClassPackage + ".loader.business.interstitial.data.KwaiInterstitialAdConfig$Builder"; + private const string KwaiInterstitialAdListenerClassName = KwaiAndroidPlatformTool.ClassPackage + ".loader.business.interstitial.interf.IKwaiInterstitialAdListener"; + private const string AdLoadListenerClassName = KwaiAndroidPlatformTool.ClassPackage + ".loader.common.interf.AdLoadListener"; + private const string KwaiInterstitialAdRequestClassName = KwaiAndroidPlatformTool.ClassPackage + ".loader.business.interstitial.data.KwaiInterstitialAdRequest"; private const string KwaiAdLoaderManagerMethodName = "getKwaiAdLoaderManager"; private const string WithKwaiInterstitialAdListenerMethodName = "withKwaiInterstitialAdListener"; private const string BuildInterstitialAdLoaderMethodName = "buildInterstitialAdLoader"; @@ -66,7 +66,7 @@ namespace KwaiAds.Scripts.Platforms.Android { if (IsReady()) { - AndroidJavaObject currentActivity = AndroidPlatformTool.GetGameActivity(); + AndroidJavaObject currentActivity = KwaiAndroidPlatformTool.GetGameActivity(); if (currentActivity == null) { Debug.Log($"{TAG}: Current Game Activity not found."); diff --git a/Assets/KwaiAds/Scripts/Platform/Android/KwaiRewardAdController.cs b/Assets/KwaiAds/Scripts/Platform/Android/KwaiRewardAdController.cs index 9d90823..4b09ac0 100644 --- a/Assets/KwaiAds/Scripts/Platform/Android/KwaiRewardAdController.cs +++ b/Assets/KwaiAds/Scripts/Platform/Android/KwaiRewardAdController.cs @@ -9,10 +9,10 @@ namespace KwaiAds.Scripts.Platforms.Android public class KwaiRewardAdController : IRewardAdController { private const string TAG = "[KwaiAdSDK-RewardAdController]"; - private const string RewardedAdConfigBuilderClassName = AndroidPlatformTool.ClassPackage + ".loader.business.reward.data.KwaiRewardAdConfig$Builder"; - private const string KwaiRewardAdListenerClassName = AndroidPlatformTool.ClassPackage + ".loader.business.reward.interf.IKwaiRewardAdListener"; - private const string AdLoadListenerClassName = AndroidPlatformTool.ClassPackage + ".loader.common.interf.AdLoadListener"; - private const string KwaiRewardAdRequestClassName = AndroidPlatformTool.ClassPackage + ".loader.business.reward.data.KwaiRewardAdRequest"; + private const string RewardedAdConfigBuilderClassName = KwaiAndroidPlatformTool.ClassPackage + ".loader.business.reward.data.KwaiRewardAdConfig$Builder"; + private const string KwaiRewardAdListenerClassName = KwaiAndroidPlatformTool.ClassPackage + ".loader.business.reward.interf.IKwaiRewardAdListener"; + private const string AdLoadListenerClassName = KwaiAndroidPlatformTool.ClassPackage + ".loader.common.interf.AdLoadListener"; + private const string KwaiRewardAdRequestClassName = KwaiAndroidPlatformTool.ClassPackage + ".loader.business.reward.data.KwaiRewardAdRequest"; private const string KwaiAdLoaderManagerMethodName = "getKwaiAdLoaderManager"; private const string WithKwaiRewardAdListenerMethodName = "withKwaiRewardAdListener"; private const string BuildRewardAdLoaderMethodName = "buildRewardAdLoader"; @@ -66,7 +66,7 @@ namespace KwaiAds.Scripts.Platforms.Android { if (IsReady()) { - AndroidJavaObject currentActivity = AndroidPlatformTool.GetGameActivity(); + AndroidJavaObject currentActivity = KwaiAndroidPlatformTool.GetGameActivity(); if (currentActivity == null) { Debug.Log($"{TAG}: Current Game Activity not found."); diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs index 4b3e9e2..fabe922 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdmobAdsManager/AdmobAdsManager.cs @@ -287,13 +287,13 @@ namespace WZ { AdsActionEvents.TrackAdClosed(Platfrom, adSource, adUnitId, AdsType.Splash, "", revenue); AdsSDKManager.Instance.otherAdsOnShow = false; - AdsSDKManager.Instance.OnSplashAdCloseCallback?.Invoke(); + AdsSplashManager.Instance.OnSplashAdCloseCallback?.Invoke(); } private void OnSplashAdError(string adUnitId, int errorCode, string errorMsg) { AdsSDKManager.Instance.otherAdsOnShow = false; - AdsSDKManager.Instance.OnSplashAdCloseCallback?.Invoke(); + AdsSplashManager.Instance.OnSplashAdCloseCallback?.Invoke(); } private void OnSplashAdClicked(string adSource,string adUnitId,double revenue) diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs index 6854cc7..0b9e79f 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdsSDKManager.cs @@ -13,13 +13,9 @@ namespace WZ private List _adNetworks = new List(); // 是否有激励视频或者插屏广告在展示 public bool otherAdsOnShow = false; - - public Action OnSplashAdCloseCallback; - - public void InitSDK(Action action) + public void InitSDK() { LoggerUtils.Debug("init ads sdk"); - OnSplashAdCloseCallback = action; // 初始化广告平台状态,用于竞价失败后刷新 BidPlatformManager.Instance.InitializePlatformStates(AdConfigParser.GetAdExpireInSec()); InitializeAdNetworks(); diff --git a/Assets/Script/SDKManager/AdsSDKManager/AdsSplashManager.cs b/Assets/Script/SDKManager/AdsSDKManager/AdsSplashManager.cs index 0bd8cce..71fe289 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/AdsSplashManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/AdsSplashManager.cs @@ -1,3 +1,4 @@ +using System; using System.Collections; using System.Collections.Generic; using Firebase.RemoteConfig; @@ -13,9 +14,20 @@ namespace WZ public float backgroundTime = 0; private int timeoutDuration = 5; private bool _coldLaunch = true; + public Action OnSplashAdCloseCallback; + + public void SetSplashAdCloseCallback(Action action) + { + OnSplashAdCloseCallback = action; + } public void InitSplash() { timeoutDuration = GetSplashConfigItem().loadtime; + var isNew = PlayerPrefsUtils.GetPlayerPrefsInt("Firstcold_Splash_Switch", 0) == 0; + if (isNew) + { + timeoutDuration = 0; + } StartCoroutine(LoadSplashAdAdWithTimeout()); LoggerUtils.Debug(" [AppOpen] 加载开屏:"+timeoutDuration); } @@ -112,7 +124,8 @@ namespace WZ if (!isFirstShow) { // 新用户首次不展示 - AdsSDKManager.Instance.OnSplashAdCloseCallback?.Invoke(); + LoggerUtils.Debug(" [AppOpen] 冷启动 新用户首次启动 不展示 :"+OnSplashAdCloseCallback); + OnSplashAdCloseCallback?.Invoke(); } else { @@ -124,7 +137,7 @@ namespace WZ else { AdsActionEvents.TrackAdFailToShow(AdsType.Splash, "", AdsShowFailType.NoFill); - AdsSDKManager.Instance.OnSplashAdCloseCallback?.Invoke(); + OnSplashAdCloseCallback?.Invoke(); AdsSDKManager.Instance.LoadSplashAd(); LoggerUtils.Debug(" [AppOpen] 冷启动广告未准备好"); } @@ -143,13 +156,13 @@ namespace WZ else { AdsActionEvents.TrackAdFailToShow(AdsType.Splash, "", AdsShowFailType.NoFill); - AdsSDKManager.Instance.OnSplashAdCloseCallback?.Invoke(); + OnSplashAdCloseCallback?.Invoke(); AdsSDKManager.Instance.LoadSplashAd(); } } else { - AdsSDKManager.Instance.OnSplashAdCloseCallback?.Invoke(); + OnSplashAdCloseCallback?.Invoke(); } } } @@ -161,7 +174,7 @@ namespace WZ } private static string Splash_AD_RULES = "Splash_AD_RULES"; - private static string Splash_AD_RULES_DEFAULT_VALUE = "[{\"firstcold_splash_switch\":1,\"cold_splash_switch\":1,\"hot_splash_switch\":1,\"hot_timegap\":30,\"loadtime\":5}]"; + private static string Splash_AD_RULES_DEFAULT_VALUE = "[{\"firstcold_splash_switch\":0,\"cold_splash_switch\":1,\"hot_splash_switch\":1,\"hot_timegap\":30,\"loadtime\":5}]"; public SplashConfigItem GetSplashConfigItem() { @@ -169,7 +182,7 @@ namespace WZ SplashConfigItem[] configItems = DataUtils.FromJsonArray(jsonData); if (configItems.Length == 0 || configItems == null) { - return new SplashConfigItem() { firstcold_splash_switch = 1, cold_splash_switch = 1, hot_splash_switch = 1, hot_timegap = 30, loadtime = 15 }; + return new SplashConfigItem() { firstcold_splash_switch = 0, cold_splash_switch = 1, hot_splash_switch = 1, hot_timegap = 30, loadtime = 15 }; } else { diff --git a/Assets/Script/SDKManager/RushSDKManager.cs b/Assets/Script/SDKManager/RushSDKManager.cs index ba96df6..30ea4ad 100644 --- a/Assets/Script/SDKManager/RushSDKManager.cs +++ b/Assets/Script/SDKManager/RushSDKManager.cs @@ -21,7 +21,7 @@ public class RushSDKManager : D_MonoSingleton public static string GetSDKVersion() { - return "1.0.5.0"; + return "1.0.5.1"; } protected override void Initialized() { @@ -34,12 +34,13 @@ public class RushSDKManager : D_MonoSingleton #if UNITY_PURCHASE IAPPurchaseManager.Instance.PreInitialize(); #endif + AdsSplashManager.Instance.SetSplashAdCloseCallback(action); FireBaseSDKManager.Instance.Init(); ShuShuMangage.Instance.Init(); AdmobAdsManager.Instance.RefreshAdsData(); AdmobAdsManager.Instance.Initialize(); AdjustManager.Instance.Init(); - AdsSDKManager.Instance.InitSDK(action); + AdsSDKManager.Instance.InitSDK(); EFSdkManager.Instance.Init(); #if UNITY_PURCHASE IAPPurchaseManager.Instance.Initialize(); diff --git a/Assets/Script/Version/Version.md b/Assets/Script/Version/Version.md index 4d1bfb6..105a4b0 100644 --- a/Assets/Script/Version/Version.md +++ b/Assets/Script/Version/Version.md @@ -1,3 +1,18 @@ +# Version 1.0.5.1 2025.11.3 + +## Bugs + +- None + +## Known issues + +- None + +## Changelog + +- 新用户默认不展示开屏广告 +- 更新kwai SDK + # Version 1.0.5.0 2025.10.2 ## Bugs