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-08-31 03:55:05 +00:00
|
|
|
|
public class AdjustNetwork : NormalSingleton<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
|
|
|
|
}
|