diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Data.meta b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Data.meta new file mode 100644 index 0000000..90f1d65 --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Data.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e1de1c3815a024a79ba1edf8c1972ac2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Data/KwaiAdsConfigParser.cs b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Data/KwaiAdsConfigParser.cs new file mode 100644 index 0000000..cf56ea8 --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Data/KwaiAdsConfigParser.cs @@ -0,0 +1,97 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace WZ +{ + public static class KwaiAdsConfigParser + { + private static KwaiBiddingConfig _rvConfig; + private static KwaiBiddingConfig _ivConfig; + public static void Parse(string json, bool isRv) + { + try + { + if (string.IsNullOrEmpty(json)) + { + LoggerUtils.Error("KwaiBiddingConfig JSON string is null or empty"); + } + + if (isRv) + { + _rvConfig = JsonUtility.FromJson(json); + } + else + { + _ivConfig = JsonUtility.FromJson(json); + } + + LoggerUtils.Info("KwaiBiddingConfig parsed successfully"); + } + catch (Exception e) + { + LoggerUtils.Error($"Error parsing KwaiBiddingConfig: {e.Message}"); + } + } + + public static bool GetKwaiRvFloorOpen() + { + if (_rvConfig == null) + { + return false; + } + return _rvConfig.kwai_floor_open == 1; + } + + public static int GetRvParallelRequests() + { + if (_rvConfig == null) + { + return 0; + } + return _rvConfig.parallel_requests; + } + + public static List GetRvFloorConfigs() + { + if (_rvConfig == null) + { + return null; + } + return _rvConfig.floors; + } + + public static string GetKwaiAppId() + { + return _rvConfig?.kwai_appid; + } + + /// + /// 获取 Kwai App Token + /// + public static string GetKwaiAppToken() + { + return _rvConfig?.kwai_apptoken; + } + + [System.Serializable] + public class FloorConfig + { + public string id; + public string unite_id; + public int price; + } + + [System.Serializable] + public class KwaiBiddingConfig + { + public int kwai_floor_open; + public string kwai_appid; + public string kwai_apptoken; + public int parallel_requests; + public List floors; + } + } +} + diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Data/KwaiAdsConfigParser.cs.meta b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Data/KwaiAdsConfigParser.cs.meta new file mode 100644 index 0000000..e03eea0 --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Data/KwaiAdsConfigParser.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 96816b8448fb34ac2b7c431715db83dd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/KwaiAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/KwaiAdsManager.cs index 91fd21e..17d0afa 100644 --- a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/KwaiAdsManager.cs +++ b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/KwaiAdsManager.cs @@ -2,17 +2,20 @@ using System; using System.Collections; using System.Collections.Generic; using System.Linq; +using JetBrains.Annotations; using KwaiAds.Scripts.Api.Interstitial; using KwaiAds.Scripts.Api.Reward; +using KwaiAds.Scripts.Common; using UnityEngine; +using static WZ.KwaiAdsConfigParser; namespace WZ { public class KwaiAdsManager : D_MonoSingleton, IAdService { //目前都是测试id - private string _appId = ""; - private string _token = ""; + public string _appId = ""; + public string _token = ""; public string _rewardAdUnitId = ""; public string _interstitialAdUnitId = ""; public double _rewardAdRevenue = -1; @@ -32,32 +35,54 @@ namespace WZ public PlatformType Platfrom => PlatformType.Kwai; public bool _initialized { get; private set; } = false; public bool _receivedReward = false; + + public void Initialize() { LoggerUtils.Debug("KwaiAdsManager Initialize start" + _appId + " token:" + _token + " rewardAdUnitId:" + _rewardAdUnitId + " interstitialAdUnitId:" + _interstitialAdUnitId); if (string.IsNullOrEmpty(_appId) || string.IsNullOrEmpty(_token) || _initialized) return; + + if (KwaiAdsConfigParser.GetKwaiRvFloorOpen()) + { + KwaiFloorAdsManager.Instance.InitializeWithFloors(); + } + var kwaiAdConfig = new KwaiAds.Scripts.Api.KwaiAdConfig.Builder() .SetAppId(_appId) .SetToken(_token) .SetDebugLog(false) .Build(); - KwaiAds.Scripts.Api.KwaiAdsSdk.Initialize(kwaiAdConfig, new InitResultCallbackImpl()); + KwaiAds.Scripts.Api.KwaiAdsSdk.Initialize(kwaiAdConfig, new InitResultCallbackImpl()); + _initialized = true; } + public void RefreshAdsData() { _appId = AdConfigParser.GetKwaiAppId(); _token = AdConfigParser.GetKwaiAppToken(); _rewardAdUnitId = AdConfigParser.GetKwaiAdUnits(AdsType.Rewarded).FirstOrDefault(); _interstitialAdUnitId = AdConfigParser.GetKwaiAdUnits(AdsType.Interstitial).FirstOrDefault(); + KwaiFloorAdsManager.Instance.LoadKwaiBiddingConfig(); } - + #region 激励广告 public void LoadRewarded() + { + if (!KwaiAdsConfigParser.GetKwaiRvFloorOpen()) + { + LoadRewardedStandard(); + return; + } + + KwaiFloorAdsManager.Instance.LoadRewardedWithFloors(); + } + + public void LoadRewardedStandard() { if (string.IsNullOrEmpty(_rewardAdUnitId)) return; if (_rewardAdController != null) @@ -76,8 +101,17 @@ namespace WZ public bool IsRewardedAvailable() { - if (string.IsNullOrEmpty(_rewardAdUnitId)) return false; - return _rewardAdController != null && _rewardAdController.IsReady(); + + if (!KwaiAdsConfigParser.GetKwaiRvFloorOpen()) + { + if (string.IsNullOrEmpty(_rewardAdUnitId)) return false; + return _rewardAdController != null && _rewardAdController.IsReady(); + } + else + { + // 对于竞价模式,检查是否有成功的楼层广告 + return KwaiFloorAdsManager.Instance.IsRewardedAvailable(); + } } public void DisplayRewarded(string _adPos, Action _rewardCallback = null, Action _showFailedCallback = null) @@ -85,14 +119,22 @@ namespace WZ _rvPos = _adPos; _rvCloseCallback = _rewardCallback; _rvShowFailedCallback = _showFailedCallback; - if (_rewardAdController != null) + + if (!KwaiAdsConfigParser.GetKwaiRvFloorOpen()) { - _rewardAdController.Show(); + if (_rewardAdController != null) + { + _rewardAdController.Show(); + } + else + { + _rvShowFailedCallback?.Invoke(); + LoadRewarded(); + } } else { - _showFailedCallback?.Invoke(); - LoadRewarded(); + KwaiFloorAdsManager.Instance.ShowRewarded(()=> { _rvShowFailedCallback?.Invoke(); }); } } @@ -100,6 +142,7 @@ namespace WZ { return _rewardAdRevenue; } + #endregion #region 插屏 @@ -185,7 +228,7 @@ namespace WZ type, type == AdsType.Rewarded ? _rewardAdRevenue : _interstitiaAdRevenue, type == AdsType.Rewarded ? _rvPos : _ivPos, - AdPlayCountManager.GetAdsActionCount(type,AdPlayCountManager.PLAY_COUNT_SUFFIX)); + AdPlayCountManager.GetAdsActionCount(type, AdPlayCountManager.PLAY_COUNT_SUFFIX)); ShuShuEvent.Instance.OnAdRevenueEvent(ClientName, ClientName, @@ -193,7 +236,7 @@ namespace WZ type.ToString(), type == AdsType.Rewarded ? _rewardAdRevenue : _interstitiaAdRevenue, type == AdsType.Rewarded ? _rvPos : _ivPos, - AdPlayCountManager.GetAdsActionCount(type,AdPlayCountManager.PLAY_COUNT_SUFFIX)); + AdPlayCountManager.GetAdsActionCount(type, AdPlayCountManager.PLAY_COUNT_SUFFIX)); } #endregion diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/KwaiFloorAdsManager.cs b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/KwaiFloorAdsManager.cs new file mode 100644 index 0000000..80a9ce2 --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/KwaiFloorAdsManager.cs @@ -0,0 +1,181 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using JetBrains.Annotations; +using KwaiAds.Scripts.Api.Reward; +using UnityEngine; +using static WZ.KwaiAdsConfigParser; + +namespace WZ +{ + public class KwaiFloorAdsManager : D_MonoSingleton + { + private int _rvParallelRequests = 3; + private List _rvFloorConfigs = new List(); + public Dictionary _rvFloorAdControllers = new Dictionary(); + private List _sortedFloors = new List(); + private int _currentFloorIndex = 0; + private bool _isRequestingFloors = false; + private List _currentRequestBatch = new List(); + private FloorConfig _successfulFloor = null; + + public void InitializeWithFloors() + { + // 对楼层按价格从高到低排序 + _sortedFloors = _rvFloorConfigs.OrderByDescending(f => f.price).ToList(); + LoggerUtils.Debug("Sorted floors: " + string.Join(", ", _sortedFloors.Select(f => $"{f.id}:{f.price}"))); + } + + public void LoadKwaiBiddingConfig() + { + _rvParallelRequests = KwaiAdsConfigParser.GetRvParallelRequests(); + _rvFloorConfigs = KwaiAdsConfigParser.GetRvFloorConfigs(); + KwaiAdsManager.Instance._appId = KwaiAdsConfigParser.GetKwaiAppId(); + KwaiAdsManager.Instance._token = KwaiAdsConfigParser.GetKwaiAppToken(); + LoggerUtils.Debug($"Kwai bidding config loaded. FloorOpen: {KwaiAdsConfigParser.GetKwaiRvFloorOpen()}, ParallelRequests: {_rvParallelRequests}, Floors: {_rvFloorConfigs.Count}"); + } + + public void LoadRewardedWithFloors() + { + if (_rvFloorConfigs == null || _rvFloorConfigs.Count == 0) + { + LoggerUtils.Debug("No floor configs available, using standard load"); + KwaiAdsManager.Instance.LoadRewardedStandard(); + return; + } + + // 重置状态 + _currentFloorIndex = 0; + _successfulFloor = null; + _isRequestingFloors = true; + + // 清理之前的广告控制器 + foreach (var controller in _rvFloorAdControllers.Values) + { + controller.Destroy(); + } + _rvFloorAdControllers.Clear(); + + // 开始请求楼层广告 + RequestNextFloorBatch(); + } + + private void RequestNextFloorBatch() + { + if (!_isRequestingFloors || _successfulFloor != null) return; + + // 获取下一批要请求的楼层 + _currentRequestBatch = new List(); + int count = 0; + + while (_currentFloorIndex < _sortedFloors.Count && count < _rvParallelRequests) + { + _currentRequestBatch.Add(_sortedFloors[_currentFloorIndex]); + _currentFloorIndex++; + count++; + } + + if (_currentRequestBatch.Count == 0) + { + // 所有楼层都请求完毕,没有填充 + LoggerUtils.Debug("All floors requested, no fill"); + _isRequestingFloors = false; + return; + } + + LoggerUtils.Debug($"Requesting floor batch: {string.Join(", ", _currentRequestBatch.Select(f => $"{f.id}({f.price})"))}"); + + // 并行请求当前批次的楼层 + foreach (var floor in _currentRequestBatch) + { + RequestFloorAd(floor); + } + } + + private void RequestFloorAd(FloorConfig floor) + { + IRewardAdController controller = KwaiAds.Scripts.Api.KwaiAdsSdk.SDK.getRewardAdController(); + _rvFloorAdControllers[floor.id] = controller; + + KwaiRewardAdRequest kwaiRewardAdRequest = new KwaiRewardAdRequest(floor.unite_id); + controller.Load(kwaiRewardAdRequest, + new FloorRewardAdListener(this, floor), + new FloorRewardAdLoadListener(this, floor)); + AdsActionEvents.TrackAdStartLoad(KwaiAdsManager.Instance.Platfrom, floor.id, floor.unite_id, AdsType.Rewarded); + } + + // 处理楼层广告加载成功 + public void OnFloorAdLoaded(FloorConfig floor, IRewardAdController controller) + { + if (!_isRequestingFloors || _successfulFloor != null) return; + + LoggerUtils.Debug($"Floor ad loaded: {floor.id} with price: {floor.price}"); + + // 暂停其他并行请求 + _successfulFloor = floor; + _isRequestingFloors = false; + + // 取消其他楼层的请求 + foreach (var kvp in _rvFloorAdControllers) + { + if (kvp.Key != floor.id) + { + kvp.Value.Destroy(); + } + } + } + + // 处理楼层广告加载失败 + public void OnFloorAdFailed(FloorConfig floor, string error) + { + if (!_isRequestingFloors || _successfulFloor != null) return; + + LoggerUtils.Debug($"Floor ad failed: {floor.id} with error: {error}"); + + // 检查当前批次是否全部失败 + bool allFailedInBatch = true; + foreach (var f in _currentRequestBatch) + { + if (f.id == floor.id) continue; + + if (_rvFloorAdControllers.ContainsKey(f.id) && + _rvFloorAdControllers[f.id] != null && + _rvFloorAdControllers[f.id].IsReady()) + { + allFailedInBatch = false; + break; + } + } + + // 如果当前批次全部失败,请求下一批 + if (allFailedInBatch) + { + RequestNextFloorBatch(); + } + } + + public bool IsRewardedAvailable() + { + return _successfulFloor != null && + _rvFloorAdControllers.ContainsKey(_successfulFloor.id) && + _rvFloorAdControllers[_successfulFloor.id] != null && + _rvFloorAdControllers[_successfulFloor.id].IsReady(); + } + + public void ShowRewarded(Action _action) + { + if (_successfulFloor != null && + _rvFloorAdControllers.ContainsKey(_successfulFloor.id) && + _rvFloorAdControllers[_successfulFloor.id] != null) + { + _rvFloorAdControllers[_successfulFloor.id].Show(); + } + else + { + _action?.Invoke(); + } + } + } +} + diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/KwaiFloorAdsManager.cs.meta b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/KwaiFloorAdsManager.cs.meta new file mode 100644 index 0000000..4b14ef1 --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/KwaiFloorAdsManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 23078a0a599c742cf9f3f4dccc9b4a83 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener.meta b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener.meta new file mode 100644 index 0000000..83e03cf --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e7ee96560784941fe83a70b743bd2b41 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/InitResultCallbackImpl.cs b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/InitResultCallbackImpl.cs similarity index 100% rename from Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/InitResultCallbackImpl.cs rename to Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/InitResultCallbackImpl.cs diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/InitResultCallbackImpl.cs.meta b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/InitResultCallbackImpl.cs.meta similarity index 100% rename from Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/InitResultCallbackImpl.cs.meta rename to Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/InitResultCallbackImpl.cs.meta diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Inter.meta b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Inter.meta new file mode 100644 index 0000000..27387d5 --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Inter.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9415a725b0d844289820c0e842c56952 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/InterstitialAdListener.cs b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Inter/InterstitialAdListener.cs similarity index 100% rename from Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/InterstitialAdListener.cs rename to Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Inter/InterstitialAdListener.cs diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/InterstitialAdListener.cs.meta b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Inter/InterstitialAdListener.cs.meta similarity index 100% rename from Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/InterstitialAdListener.cs.meta rename to Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Inter/InterstitialAdListener.cs.meta diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/InterstitialAdLoadListener.cs b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Inter/InterstitialAdLoadListener.cs similarity index 100% rename from Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/InterstitialAdLoadListener.cs rename to Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Inter/InterstitialAdLoadListener.cs diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/InterstitialAdLoadListener.cs.meta b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Inter/InterstitialAdLoadListener.cs.meta similarity index 100% rename from Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/InterstitialAdLoadListener.cs.meta rename to Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Inter/InterstitialAdLoadListener.cs.meta diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward.meta b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward.meta new file mode 100644 index 0000000..a103e70 --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5fa25ee61c10f462eb5d5fb7ab1ba0d7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Floor.meta b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Floor.meta new file mode 100644 index 0000000..43bda33 --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Floor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 99cfe15d65a714f84a84176b04c4de0f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Floor/FloorRewardAdListener.cs b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Floor/FloorRewardAdListener.cs new file mode 100644 index 0000000..feaa48f --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Floor/FloorRewardAdListener.cs @@ -0,0 +1,50 @@ +using System.Collections; +using System.Collections.Generic; +using KwaiAds.Scripts.Api.Reward; +using UnityEngine; +using static WZ.KwaiAdsConfigParser; + + +namespace WZ +{ + public class FloorRewardAdListener : IRewardAdListener + { + private KwaiFloorAdsManager _manager; + private FloorConfig _floor; + public FloorRewardAdListener(KwaiFloorAdsManager manager, FloorConfig floor) + { + _manager = manager; + _floor = floor; + } + + public void OnAdClick() + { + + } + + public void OnAdClose() + { + + } + + public void OnAdPlayComplete() + { + + } + + public void OnAdShow() + { + + } + + public void OnAdShowFailed(int code, string msg) + { + + } + + public void OnRewardEarned() + { + } + } +} + diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Floor/FloorRewardAdListener.cs.meta b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Floor/FloorRewardAdListener.cs.meta new file mode 100644 index 0000000..35f3483 --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Floor/FloorRewardAdListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 00750012be89d44c3a4b3a8211231b5f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Floor/FloorRewardAdLoadListener.cs b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Floor/FloorRewardAdLoadListener.cs new file mode 100644 index 0000000..88c2518 --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Floor/FloorRewardAdLoadListener.cs @@ -0,0 +1,35 @@ +using System.Collections; +using System.Collections.Generic; +using KwaiAds.Scripts.Api.Reward; +using UnityEngine; +using static WZ.KwaiAdsConfigParser; + +namespace WZ +{ + public class FloorRewardAdLoadListener : IRewardAdLoadListener + { + private KwaiFloorAdsManager _manager; + private FloorConfig _floor; + + public FloorRewardAdLoadListener(KwaiFloorAdsManager manager, FloorConfig floor) + { + _manager = manager; + _floor = floor; + } + public void OnAdLoadFailed(string trackId, int code, string msg) + { + _manager.OnFloorAdFailed(_floor, msg); + } + + public void OnAdLoadStart(string trackId) + { + + } + + public void OnAdLoadSuccess(string trackId, string price) + { + _manager.OnFloorAdLoaded(_floor, _manager._rvFloorAdControllers[_floor.id]); + } + } +} + diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Floor/FloorRewardAdLoadListener.cs.meta b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Floor/FloorRewardAdLoadListener.cs.meta new file mode 100644 index 0000000..7acd00c --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Floor/FloorRewardAdLoadListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 97e7949432bd84517b1f6580218ffb94 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Standard.meta b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Standard.meta new file mode 100644 index 0000000..7b8f0a6 --- /dev/null +++ b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Standard.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c1eaf30ce69a744fea7ce85741acf3bc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/RewardAdListener.cs b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Standard/RewardAdListener.cs similarity index 100% rename from Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/RewardAdListener.cs rename to Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Standard/RewardAdListener.cs diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/RewardAdListener.cs.meta b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Standard/RewardAdListener.cs.meta similarity index 100% rename from Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/RewardAdListener.cs.meta rename to Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Standard/RewardAdListener.cs.meta diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/RewardAdLoadListener.cs b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Standard/RewardAdLoadListener.cs similarity index 100% rename from Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/RewardAdLoadListener.cs rename to Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Standard/RewardAdLoadListener.cs diff --git a/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/RewardAdLoadListener.cs.meta b/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Standard/RewardAdLoadListener.cs.meta similarity index 100% rename from Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/RewardAdLoadListener.cs.meta rename to Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/Listener/Reward/Standard/RewardAdLoadListener.cs.meta