| 
									
										
										
										
											2025-09-02 03:45:05 +00:00
										 |  |  |  | using System; | 
					
						
							|  |  |  |  | using System.Collections; | 
					
						
							| 
									
										
										
										
											2025-09-01 10:32:50 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-31 03:55:05 +00:00
										 |  |  |  | using UnityEngine; | 
					
						
							| 
									
										
										
										
											2025-09-01 10:32:50 +00:00
										 |  |  |  | using WZ; | 
					
						
							| 
									
										
										
										
											2025-08-30 10:46:34 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-02 09:14:49 +00:00
										 |  |  |  | public class AdjustNetwork : D_MonoSingleton<AdjustNetwork> | 
					
						
							| 
									
										
										
										
											2025-08-30 10:46:34 +00:00
										 |  |  |  | { | 
					
						
							|  |  |  |  |     private const string KEY_USER_NETWORK = "KEY_USER_NETWORK"; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-31 03:55:05 +00:00
										 |  |  |  |     public void SetNetwork(string network) | 
					
						
							| 
									
										
										
										
											2025-08-30 10:46:34 +00:00
										 |  |  |  |     { | 
					
						
							|  |  |  |  |         if (string.IsNullOrEmpty(network)) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |          | 
					
						
							| 
									
										
										
										
											2025-08-31 05:48:26 +00:00
										 |  |  |  |         if (network.ToLower().Replace(" ", "") == "Organic".ToLower().Replace(" ", "")) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |          | 
					
						
							| 
									
										
										
										
											2025-08-30 10:46:34 +00:00
										 |  |  |  |         string curNetwork = PlayerPrefs.GetString(KEY_USER_NETWORK, ""); | 
					
						
							|  |  |  |  |         if (string.IsNullOrEmpty(curNetwork)) | 
					
						
							|  |  |  |  |         { | 
					
						
							| 
									
										
										
										
											2025-09-02 03:45:05 +00:00
										 |  |  |  |             LogEventGetSuccess(); | 
					
						
							| 
									
										
										
										
											2025-08-30 10:46:34 +00:00
										 |  |  |  |             PlayerPrefs.SetString(KEY_USER_NETWORK, network); | 
					
						
							|  |  |  |  |             PlayerPrefs.Save(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-31 05:48:26 +00:00
										 |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// 3分钟设置自然量 | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     public IEnumerator SetOrganic3Min() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         string curNetwork = PlayerPrefs.GetString(KEY_USER_NETWORK, ""); | 
					
						
							|  |  |  |  |         if (!string.IsNullOrEmpty(curNetwork)) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             yield break; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         //写死3分钟 | 
					
						
							|  |  |  |  |         yield return new WaitForSeconds(3 * 60); | 
					
						
							|  |  |  |  |          | 
					
						
							|  |  |  |  |         //重新获取 | 
					
						
							|  |  |  |  |         curNetwork = PlayerPrefs.GetString(KEY_USER_NETWORK, ""); | 
					
						
							|  |  |  |  |         if (!string.IsNullOrEmpty(curNetwork)) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             yield break; | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2025-09-02 03:45:05 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         LogEventGetSuccess(); | 
					
						
							| 
									
										
										
										
											2025-08-31 05:48:26 +00:00
										 |  |  |  |         PlayerPrefs.SetString(KEY_USER_NETWORK, "Organic"); | 
					
						
							|  |  |  |  |         PlayerPrefs.Save(); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-30 10:46:34 +00:00
										 |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// 是否是自然量用户 | 
					
						
							|  |  |  |  |     /// 默认买量用户 | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     /// <returns></returns> | 
					
						
							| 
									
										
										
										
											2025-08-31 03:55:05 +00:00
										 |  |  |  |     public bool InOrganic() | 
					
						
							| 
									
										
										
										
											2025-08-30 10:46:34 +00:00
										 |  |  |  |     { | 
					
						
							|  |  |  |  |         string network = PlayerPrefs.GetString(KEY_USER_NETWORK, ""); | 
					
						
							|  |  |  |  |         if (string.IsNullOrEmpty(network)) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return true; | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2025-08-30 11:16:32 +00:00
										 |  |  |  |          | 
					
						
							|  |  |  |  |         if (network.ToLower().Replace(" ", "") == "Organic".ToLower().Replace(" ", "")) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return true; | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2025-08-30 10:46:34 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         //去除大小写和空格之后再对比 | 
					
						
							|  |  |  |  |         if (network.ToLower().Replace(" ", "") == "Untrusted Devices".ToLower().Replace(" ", "") || network.ToLower().Replace(" ", "") == "Google Organic Search".ToLower().Replace(" ", "")) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return true; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         return false; | 
					
						
							|  |  |  |  |     } | 
					
						
							| 
									
										
										
										
											2025-09-02 03:45:05 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// 获取adjust信息成功 | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     private void LogEventGetSuccess() | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         long startTime = AdjustManager.Instance.GetStartTime(); | 
					
						
							|  |  |  |  |         long endTime = TimeUtils.GetLocalTimestamp(); | 
					
						
							|  |  |  |  |         //计算两个时间相差多少秒 | 
					
						
							|  |  |  |  |         // 计算毫秒差值的绝对值 | 
					
						
							|  |  |  |  |         long diffMs = Math.Abs(startTime - endTime); | 
					
						
							|  |  |  |  |         // 转换为秒并向上取整 | 
					
						
							|  |  |  |  |         double seconds = (double)diffMs / 1000; | 
					
						
							|  |  |  |  |         int time = (int)Math.Ceiling(seconds); | 
					
						
							|  |  |  |  |          | 
					
						
							|  |  |  |  |         //数数 | 
					
						
							|  |  |  |  |         ShuShuEvent.Instance.Track("adjust_get_success", "pass_time", time); | 
					
						
							|  |  |  |  |         FireBaseAnalyticsManager.Instance.LogEvent("adjust_get_success", "pass_time", time); | 
					
						
							|  |  |  |  |     } | 
					
						
							| 
									
										
										
										
											2025-08-30 10:46:34 +00:00
										 |  |  |  | } |