2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								namespace  Guru 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    using  UnityEngine ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    using  System ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    public  partial  class  GuruSDK 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-15 09:00:40 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  static  AdsInitSpec  _adInitSpec ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 启动广告服务 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-15 09:00:40 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        public  static  void  StartAds ( AdsInitSpec  spec  =  null ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-15 09:00:40 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            _adInitSpec  =  spec ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            if  ( InitConfig . UseCustomConsent ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-07 12:37:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                UnityEngine . Debug . Log ( $"{Tag} --- Call <color=orange>StartAdsWithCustomConsent</color> when you use custom consent, and pass the result (boolean) to the method." ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-15 09:00:40 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                return ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-15 09:00:40 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            // 默认的启动顺序是先启动Consent后, 根据用户回调的结果来启动广告 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            Instance . StartConsentFlow ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-03-15 09:12:36 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 是否已经购买了去广告 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <param name="buyNoAds"></param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        public  static  void  StartAds ( bool  buyNoAds  =  false ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            StartAds ( AdsInitSpec . BuildWithNoAds ( ) ) ;   // 按照默认的去广告来生成广告启动配置 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 使用自定义的Consent, 获取用户授权后, 调用此方法 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <param name="userAllow"></param> 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-15 09:12:36 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        /// <param name="consentName">Consent 引导的类型, 如果使用了 MAX 的 consent 请填写 max </param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <param name="spec">广告启动配置</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        public  static  void  StartAdsWithCustomConsent ( bool  userAllow  =  true ,  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            string  consentName  =  "custom" ,  AdsInitSpec  spec  =  null ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								#if UNITY_IOS 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-15 09:12:36 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            _attType  =  consentName ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            InitAttStatus ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# endif 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            if  ( userAllow ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								#if UNITY_IOS 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                CheckAttStatus ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# else 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-15 09:00:40 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                StartAdService ( spec ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# endif 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-07 12:37:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                UnityEngine . Debug . Log ( $"{Tag} --- User refuse to provide ads Id, Ads Service will be cancelled" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-03-15 09:12:36 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 使用自定义的Consent, 获取用户授权后, 调用此方法 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <param name="userAllow">自定义 Consent 的用户授权结果</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <param name="consentName">Consent引导名称</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <param name="buyNoAds">是否已经购买了去广告</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        public  static  void  StartAdsWithCustomConsent ( bool  userAllow  =  true ,  string  consentName  =  "custom" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            bool  buyNoAds  =  false ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            StartAdsWithCustomConsent ( userAllow ,  consentName ,  AdsInitSpec . BuildWithNoAds ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        #region Guru Consent 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-01 05:13:26 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  bool  _hasConsentCalled  =  false ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-19 08:19:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        private  bool  _adServiceHasStarted  =  false ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-01 05:13:26 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 启动Consent流程 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-01 05:13:26 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        /// 因为之后规划广告流程会放在 Consent 初始化之后, 因此请求广告的时候会需要先请求 Consent 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  void  StartConsentFlow ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-19 09:33:37 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            float  time  =  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( ! _adServiceHasStarted  & &  _appServicesConfig  ! =  null ) 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-19 08:19:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-19 09:33:37 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                time  =  _appServicesConfig . IsAdsCompliance ( )  ?  10  :  1f ;  // 启动合规判定后, 延迟最多 10 秒后启动广告 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-19 08:19:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-19 09:33:37 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            Delay ( time ,  AdServiceHandler ) ;  // 广告延迟启动 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-19 08:19:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            
							 
						 
					
						
							
								
									
										
										
										
											2024-03-01 05:13:26 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            if  ( _hasConsentCalled )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            _hasConsentCalled  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-03-08 11:27:55 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            bool  enableCountryCheck  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            string  dmaMapRule  =  "" ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-19 09:33:37 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            
							 
						 
					
						
							
								
									
										
										
										
											2024-03-08 11:27:55 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            if  ( _appServicesConfig  ! =  null  & &  _appServicesConfig . parameters  ! =  null ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                enableCountryCheck  =  _appServicesConfig . DMACountryCheck ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                dmaMapRule  =  _appServicesConfig . DMAMapRule ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-03-04 04:19:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								#if UNITY_IOS 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            InitAttStatus ( ) ;  // Consent 启动前记录 ATT 初始值 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# endif 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-07 12:37:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            UnityEngine . Debug . Log ( $"{Tag}  --- Call:StartConsentFlow ---" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-04 04:19:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            GuruConsent . StartConsent ( OnGuruConsentOver ,  dmaMapRule : dmaMapRule ,  enableCountryCheck : enableCountryCheck ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-03-04 04:19:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// Guru Consent flow is Over 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <param name="code"></param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  void  OnGuruConsentOver ( int  code ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-15 09:12:36 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            
							 
						 
					
						
							
								
									
										
										
										
											2024-03-04 04:19:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            // 无论状态如何, 都在回调内启动广告初始化 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-19 08:19:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            AdServiceHandler ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-04 04:19:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            // 调用回调 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            Callbacks . ConsentFlow . _onConsentResult ? . Invoke ( code ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								#if UNITY_IOS 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-04 04:19:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            CheckAttStatus ( ) ;   // [iOS] Consent 启动后检查 ATT 初始值 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-25 12:13:36 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								#elif UNITY_ANDROID 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            CheckPermission ( ) ;  // [Android] Consent 回调后检查 Push 推送权限 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# endif 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-04 04:19:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            // 内部处理后继逻辑 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            switch ( code ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                case  GuruConsent . StatusCode . OBTAINED : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                case  GuruConsent . StatusCode . NOT_AVAILABLE : 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-01 05:13:26 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    // 已获取授权, 或者地区不可用, ATT 尚未启动 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-04 04:19:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    // TODO: 添加后继处理逻辑 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								                    break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-19 08:19:39 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 启动广告服务 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  void  AdServiceHandler ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( _adServiceHasStarted )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            _adServiceHasStarted  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            StartAdService ( _adInitSpec ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        #region IOS ATT 广告授权流程 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								#if UNITY_IOS 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  static  string  _initialAttStatus ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  static  String  _attType  =  "admob" ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-04 04:19:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        private  static  bool  _autoReCallAtt  =  false ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 显示系统的 ATT 弹窗 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        public  static  void  RequestAttDialog ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            LogI ( $"RequestATTDialog" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ATTManager . RequestATTDailog ( ReportAttStatus ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 初始化 ATT 状态 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        public  static  void  InitAttStatus ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-04 05:12:31 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            _attType  =  InitConfig . UseCustomConsent  ?  ATTManager . GUIDE_TYPE_CUSTOM  :  ATTManager . GUIDE_TYPE_ADMOB ;  // 点位属性确定 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            _initialAttStatus  =  ATTManager . GetStatus ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            SetUserProperty ( Analytics . ParameterATTStatus ,  _initialAttStatus ) ;  // 上报一个初始的状态 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// iOS 平台检查 ATT 状态 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-04 04:19:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        private  static  void  CheckAttStatus ( bool  autoReCall  =  false ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            _autoReCallAtt  =  autoReCall ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-06 04:36:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            // Delay 1s to get the user choice 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            Delay ( 1 ,  ( )  = >  ATTManager . CheckStatus ( ReportAttStatus ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-04 04:19:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        private  static  void  ReportAttStatus ( string  status ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-04 04:19:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            LogI ( $"{Tag} --- Get Att status:{status}  att Type:{_attType}  recall:{_autoReCallAtt}" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            SetUserProperty ( Analytics . ParameterATTStatus ,  status ) ;  // 当前的状态 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-06 04:36:41 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( ! string . IsNullOrEmpty ( status )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                & &  status  ! =  _initialAttStatus  
							 
						 
					
						
							
								
									
										
										
										
											2024-03-04 04:19:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                & &  status  ! =   ATTManager . ATT_STATUS_NOT_DETERMINED ) 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                // 上报点位: 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                Analytics . AttResult ( status ,  _attType ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            switch ( status ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                case  ATTManager . ATT_STATUS_NOT_DETERMINED : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    // ATT 状态未知, 请求弹窗 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-04 04:19:48 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    if ( _autoReCallAtt )  RequestAttDialog ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                case  ATTManager . ATT_STATUS_RESTRICTED : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                case  ATTManager . ATT_STATUS_DENIED : 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-01 09:53:45 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    // ATT 状态受限, 或者被拒绝 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                case  ATTManager . ATT_STATUS_AUTHORIZED : 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-01 09:53:45 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    // ATT 状态已授权 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# endif 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
									
										
										
										
											2024-04-25 12:13:36 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        #region Android 13 PushNotification Permission  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  const  string  PERMISSION_POST_NOTIFICATION  =  "android.permission.POST_NOTIFICATIONS" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  void  CheckPermission ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            float  delay  =  1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-09 12:35:47 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            UnityEngine . Debug . Log ( $"---- Check PushPermission ---" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-25 12:13:36 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								#if UNITY_ANDROID 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            // 如果已经请求过权限的话, 则不做动作 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( UnityEngine . Android . Permission . HasUserAuthorizedPermission ( PERMISSION_POST_NOTIFICATION ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-09 12:35:47 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                UnityEngine . Debug . Log ( $"--- PushPermission has passed ---" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-25 12:13:36 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# endif 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            Invoke ( nameof ( RequestNotification ) ,  delay ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 请求Notification 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  void  RequestNotification ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								#if UNITY_ANDROID 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-09 12:35:47 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            UnityEngine . Debug . Log ( "--- Target 33 Request Notification ---" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-25 12:13:36 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            // Android直接申请授权 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( ! UnityEngine . Android . Permission . HasUserAuthorizedPermission ( PERMISSION_POST_NOTIFICATION ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                UnityEngine . Android . Permission . RequestUserPermission ( PERMISSION_POST_NOTIFICATION ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# endif 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        # endregion 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 02:23:49 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        #region Ad Services 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  static  bool  _initAdsCompleted  =  false ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 11:57:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        private  static  bool  _isBannerVisible  =  false ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-07 12:37:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        public  static  bool  IsAdsReady  = >  _initAdsCompleted ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
									
										
										
										
											2024-03-31 10:08:26 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        public  static  AdsInitSpec  GetDefaultAdsSpec ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  AdsInitSpec . BuildDefault ( InitConfig . AutoLoadWhenAdsReady ,  IsDebugMode ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 启动广告服务 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-15 09:00:40 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        internal  static  void  StartAdService ( AdsInitSpec  spec  =  null ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-31 10:36:47 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            //---------- Using InitConfig ---------- 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( InitConfig  is  {  IsBuyNoAds :  true  } )  SetBuyNoAds ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            LogI ( $"StartAdService" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-15 09:12:36 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            if  ( spec  = =  null ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                spec  =  AdsInitSpec . BuildDefault ( InitConfig . AutoLoadWhenAdsReady ,  IsDebugMode ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                if  ( ADService . Instance . IsBuyNoAds ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    spec  =  AdsInitSpec . BuildWithNoAds ( InitConfig . AutoLoadWhenAdsReady ,  IsDebugMode ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            
							 
						 
					
						
							
								
									
										
										
										
											2024-03-31 10:36:47 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            if ( InitConfig  ! =  null  & &  ! string . IsNullOrEmpty ( InitConfig . BannerBackgroundColor ) )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                spec . bannerColorHex  =  InitConfig . BannerBackgroundColor ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            //--------- Add Callbacks ----------- 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-07 12:37:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            // BADS 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ADService . OnBannerStartLoad  =  OnBannerStartLoad ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-17 09:51:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            ADService . OnBannerLoaded  =  OnBannerLoaded ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-07 12:37:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            // IADS 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ADService . OnInterstitialStartLoad  =  OnInterstitialStartLoad ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            ADService . OnInterstitialLoaded  =  OnInterstitialLoaded ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ADService . OnInterstitialFailed  =  OnInterstitialFailed ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-07 12:37:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            // RADS 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ADService . OnRewardedStartLoad  =  OnRewardedStartLoad ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ADService . OnRewardLoaded  =  OnRewardedLoaded ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ADService . OnRewardFailed  =  OnRewardedFailed ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-31 10:36:47 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            // ---------- Start Services ---------- 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ADService . Instance . StartService ( OnAdsInitComplete ,  spec ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 11:57:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            // ---------- Life Cycle ---------- 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            Callbacks . App . OnAppPaused  + =  OnAppPaused ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 生命周期回调 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <param name="paused"></param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  static  void  OnAppPaused ( bool  paused ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if ( ADService . Instance . IsInitialized ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                ADService . Instance . OnAppPaused ( paused ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-07 12:37:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  static  void  OnBannerStartLoad ( string  adUnitId ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            = >  Callbacks . Ads . _onBannerADStartLoad ? . Invoke ( adUnitId ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-17 09:51:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        private  static  void  OnBannerLoaded ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            = >  Callbacks . Ads . _onBannerADLoaded ? . Invoke ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-07 12:37:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        private  static  void  OnInterstitialStartLoad ( string  adUnitId )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            = >  Callbacks . Ads . _onInterstitialADStartLoad ? . Invoke ( adUnitId ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        private  static  void  OnInterstitialLoaded ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            = >  Callbacks . Ads . _onInterstitialADLoaded ? . Invoke ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  static  void  OnInterstitialFailed ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            = >  Callbacks . Ads . _onInterstitialADFailed ? . Invoke ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-07 12:37:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        private  static  void  OnRewardedStartLoad ( string  adUnitId ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            = >  Callbacks . Ads . _onRewardedADStartLoad ? . Invoke ( adUnitId ) ;  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  static  void  OnRewardedLoaded ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            = >  Callbacks . Ads . _onRewardedADLoaded ? . Invoke ( ) ;  
							 
						 
					
						
							
								
									
										
										
										
											2024-05-07 12:37:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        private  static  void  OnRewardedFailed ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            = >  Callbacks . Ads . _onRewardADFailed ? . Invoke ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  static  void  OnAdsInitComplete ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            _initAdsCompleted  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            Callbacks . Ads . _onAdsInitComplete ? . Invoke ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        private  static  bool  CheckAdsReady ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-07 12:37:57 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            if  ( ! IsAdsReady ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                LogE ( "Ads is not ready. Call <GuruSDk.StartAdService> first." ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                return  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 显示Banner广告 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <param name="placement"></param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        public  static  void  ShowBanner ( string  placement  =  "" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( ! CheckAdsReady ( ) )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ADService . Instance . ShowBanner ( placement ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-31 09:18:43 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 设置 Banner 背景颜色 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <param name="color"></param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        public  static  void  SetBannerBackgroundColor ( Color  color ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            // if (!CheckAdsReady()) return; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ADService . Instance . SetBannerBackgroundColor ( color ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 13:44:09 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        public  static  void  SetBannerAutoRefresh ( bool  value  =  true ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( ! CheckAdsReady ( ) )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ADService . Instance . SetBannerAutoRefresh ( value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 隐藏Banner广告 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        public  static  void  HideBanner ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( ! CheckAdsReady ( ) )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ADService . Instance . HideBanner ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        public  static  void  LoadInterstitialAd ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( ! CheckAdsReady ( ) )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ADService . Instance . RequestInterstitialAD ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-28 07:35:35 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        public  static  bool  IsInterstitialAdReady  = >  ADService . Instance . IsInterstitialADReady ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 显示插屏广告 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <param name="placement"></param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <param name="onDismissed"></param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        public  static  void  ShowInterstitialAd ( string  placement  =  "" ,  Action  onDismissed  =  null ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( ! CheckAdsReady ( ) )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( ! ADService . Instance . IsInterstitialADReady ( ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                LogE ( "Interstitial is not ready. Call <GuruSDk.ShowInterstitialAd> again." ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                LoadInterstitialAd ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ADService . Instance . ShowInterstitialAD ( placement ,  onDismissed ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        public  static  void  LoadRewardAd ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( ! CheckAdsReady ( ) )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ADService . Instance . RequestRewardedAD ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
									
										
										
										
											2023-12-28 07:35:35 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        public  static  bool  IsRewardAdReady  = >  ADService . Instance . IsRewardedADReady ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 显示激励视频广告 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <param name="placement"></param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <param name="onRewarded"></param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <param name="onFailed"></param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        public  static  void  ShowRewardAd ( string  placement  =  "" ,  Action  onRewarded  =  null ,  Action < string >  onFailed  =  null ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( ! CheckAdsReady ( ) )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( ! ADService . Instance . IsRewardedADReady ( ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                LogE ( "RewardAd is not ready. Call <GuruSDk.LoadRewardAd> again." ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                LoadRewardAd ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ADService . Instance . ShowRewardedAD ( placement ,  onRewarded ,  onFailed ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        #region MaxServices 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// 显示Max调试菜单 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        public  static  void  ShowMaxDebugPanel ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								#if UNITY_EDITOR 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            LogI ( $"Can not show Max Debug Panel in Editor, skipped." ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# endif 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( ! ADService . Instance . IsInitialized ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                LogI ( $"ADService is not initialized, call <GuruSDK.StartAds> first." ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ADService . Instance . ShowMaxDebugPanel ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-15 09:00:40 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:40:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								}