| 
									
										
										
										
											2025-08-30 04:15:48 +00:00
										 |  |  | using System.Collections; | 
					
						
							|  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  | using KwaiAds.Scripts.Api.Interstitial; | 
					
						
							|  |  |  | using KwaiAds.Scripts.Api.Reward; | 
					
						
							| 
									
										
										
										
											2025-08-31 03:55:05 +00:00
										 |  |  | using Script.SDKManager.AdsSDKManager.BigoAdsManager; | 
					
						
							| 
									
										
										
										
											2025-08-31 13:19:46 +00:00
										 |  |  | using Script.Utils; | 
					
						
							| 
									
										
										
										
											2025-08-30 04:15:48 +00:00
										 |  |  | using UnityEngine; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-31 03:55:05 +00:00
										 |  |  | public class KwaiAdsManager : NormalSingleton<KwaiAdsManager> | 
					
						
							| 
									
										
										
										
											2025-08-30 04:15:48 +00:00
										 |  |  | { | 
					
						
							|  |  |  |     //目前都是测试id | 
					
						
							|  |  |  |     private const string appId = "899999";  | 
					
						
							|  |  |  |     private const string token = "EaCw0AipSYyvf3E7";  | 
					
						
							|  |  |  |     private const string rewardAdUnitId = "8999996001"; | 
					
						
							|  |  |  |     private const string interstitialAdUnitId = "8999996002"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /// <summary> | 
					
						
							|  |  |  |     /// 目前是千倍广告价值 | 
					
						
							|  |  |  |     /// </summary> | 
					
						
							| 
									
										
										
										
											2025-08-31 03:55:05 +00:00
										 |  |  |     public double rewardAdRevenue = 0; | 
					
						
							| 
									
										
										
										
											2025-08-30 04:15:48 +00:00
										 |  |  |     /// <summary> | 
					
						
							|  |  |  |     /// 插屏奖励价值 如果有竞价功能可能会用到 | 
					
						
							|  |  |  |     /// </summary> | 
					
						
							| 
									
										
										
										
											2025-08-31 03:55:05 +00:00
										 |  |  |     public double interstitiaAdRevenue = 0; | 
					
						
							| 
									
										
										
										
											2025-08-30 04:15:48 +00:00
										 |  |  |      | 
					
						
							| 
									
										
										
										
											2025-08-31 03:55:05 +00:00
										 |  |  |     private IRewardAdController rewardAdController; | 
					
						
							|  |  |  |     private IInterstitialAdController interstitialAdController; | 
					
						
							| 
									
										
										
										
											2025-08-30 04:15:48 +00:00
										 |  |  |      | 
					
						
							| 
									
										
										
										
											2025-08-31 03:55:05 +00:00
										 |  |  |     public void Init() | 
					
						
							| 
									
										
										
										
											2025-08-30 04:15:48 +00:00
										 |  |  |     { | 
					
						
							|  |  |  |         bool debug = true; // Whether in debug mode. Plsease set to false when in release build. | 
					
						
							|  |  |  |         var kwaiAdConfig = new KwaiAds.Scripts.Api.KwaiAdConfig.Builder() | 
					
						
							|  |  |  |             .SetAppId(appId) | 
					
						
							|  |  |  |             .SetToken(token) | 
					
						
							|  |  |  |             .SetAppName("App Name") // Optional | 
					
						
							|  |  |  |             .SetDebugLog(debug) // Optional | 
					
						
							|  |  |  |             .Build(); | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |         KwaiAds.Scripts.Api.KwaiAdsSdk.Initialize(kwaiAdConfig, new InitResultCallbackImpl()); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     #region 激励广告 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /// <summary> | 
					
						
							|  |  |  |     /// 加载激励广告 | 
					
						
							|  |  |  |     /// </summary> | 
					
						
							| 
									
										
										
										
											2025-08-31 03:55:05 +00:00
										 |  |  |     public void LoadRewardAd() | 
					
						
							| 
									
										
										
										
											2025-08-30 04:15:48 +00:00
										 |  |  |     { | 
					
						
							|  |  |  |         if (rewardAdController != null) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             rewardAdController.Destroy(); | 
					
						
							|  |  |  |             rewardAdController = null; | 
					
						
							|  |  |  |             rewardAdRevenue = 0; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |         rewardAdController = KwaiAds.Scripts.Api.KwaiAdsSdk.SDK.getRewardAdController(); | 
					
						
							|  |  |  |         KwaiRewardAdRequest kwaiRewardAdRequest = new KwaiRewardAdRequest(rewardAdUnitId); | 
					
						
							|  |  |  |         rewardAdController.Load(kwaiRewardAdRequest, new RewardAdListener(), new RewardAdLoadListener()); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /// <summary> | 
					
						
							|  |  |  |     /// 展示激励广告 | 
					
						
							|  |  |  |     /// </summary> | 
					
						
							| 
									
										
										
										
											2025-08-31 03:55:05 +00:00
										 |  |  |     public void ShowRewardAd() | 
					
						
							| 
									
										
										
										
											2025-08-30 04:15:48 +00:00
										 |  |  |     { | 
					
						
							|  |  |  |         if (rewardAdController != null) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             rewardAdController.Show(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             LoadRewardAd(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /// <summary> | 
					
						
							|  |  |  |     /// 广告播放完成 获得奖励 | 
					
						
							|  |  |  |     /// </summary> | 
					
						
							| 
									
										
										
										
											2025-08-31 03:55:05 +00:00
										 |  |  |     public void OnRewardAdCallback() | 
					
						
							| 
									
										
										
										
											2025-08-30 04:15:48 +00:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2025-08-31 05:19:04 +00:00
										 |  |  |         AdsSDKManager.Instance.OnRewardAdCallback(rewardAdRevenue); | 
					
						
							| 
									
										
										
										
											2025-08-30 04:15:48 +00:00
										 |  |  |         LoadRewardAd(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     #endregion | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     #region 插屏 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-31 03:55:05 +00:00
										 |  |  |     public void LoadInterstitialAd() | 
					
						
							| 
									
										
										
										
											2025-08-30 04:15:48 +00:00
										 |  |  |     { | 
					
						
							|  |  |  |         if (interstitialAdController != null) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             interstitialAdController.Destroy(); | 
					
						
							|  |  |  |             interstitialAdController = null; | 
					
						
							|  |  |  |             interstitiaAdRevenue = 0; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |         interstitialAdController = KwaiAds.Scripts.Api.KwaiAdsSdk.SDK.getInterstitialAdController(); | 
					
						
							|  |  |  |         KwaiInterstitialAdRequest kwaiInterstitialAdRequest = new KwaiInterstitialAdRequest(interstitialAdUnitId); | 
					
						
							|  |  |  |         interstitialAdController.Load(kwaiInterstitialAdRequest, new InterstitialAdListener(), new InterstitialAdLoadListener()); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-31 03:55:05 +00:00
										 |  |  |     public void ShowInterstitialAd() | 
					
						
							| 
									
										
										
										
											2025-08-30 04:15:48 +00:00
										 |  |  |     { | 
					
						
							|  |  |  |         if (interstitialAdController != null) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             interstitialAdController.Show(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             LoadInterstitialAd(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     /// <summary> | 
					
						
							|  |  |  |     /// 广告播放完成 获得奖励 | 
					
						
							|  |  |  |     /// </summary> | 
					
						
							| 
									
										
										
										
											2025-08-31 03:55:05 +00:00
										 |  |  |     public void OnInterstitialCallback() | 
					
						
							| 
									
										
										
										
											2025-08-30 04:15:48 +00:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2025-08-31 05:19:04 +00:00
										 |  |  |         if (AdsSDKManager.Instance.IsMoreAdsBidding) | 
					
						
							| 
									
										
										
										
											2025-08-30 04:15:48 +00:00
										 |  |  |         { | 
					
						
							| 
									
										
										
										
											2025-08-31 05:19:04 +00:00
										 |  |  |             AdsSDKManager.Instance.OnRewardAdCallback(interstitiaAdRevenue); | 
					
						
							| 
									
										
										
										
											2025-08-30 04:15:48 +00:00
										 |  |  |         } | 
					
						
							|  |  |  |         | 
					
						
							|  |  |  |         LoadInterstitialAd(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     #endregion | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 |