103 lines
2.8 KiB
C#
103 lines
2.8 KiB
C#
using System;
|
|
using System.Collections;
|
|
|
|
using UnityEngine;
|
|
using WZ;
|
|
|
|
public class AdjustNetwork : NormalSingleton<AdjustNetwork>
|
|
{
|
|
private const string KEY_USER_NETWORK = "KEY_USER_NETWORK";
|
|
|
|
public void SetNetwork(string network)
|
|
{
|
|
if (string.IsNullOrEmpty(network))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (network.ToLower().Replace(" ", "") == "Organic".ToLower().Replace(" ", ""))
|
|
{
|
|
return;
|
|
}
|
|
|
|
string curNetwork = PlayerPrefs.GetString(KEY_USER_NETWORK, "");
|
|
if (string.IsNullOrEmpty(curNetwork))
|
|
{
|
|
LogEventGetSuccess();
|
|
PlayerPrefs.SetString(KEY_USER_NETWORK, network);
|
|
PlayerPrefs.Save();
|
|
}
|
|
}
|
|
|
|
/// <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;
|
|
}
|
|
|
|
LogEventGetSuccess();
|
|
PlayerPrefs.SetString(KEY_USER_NETWORK, "Organic");
|
|
PlayerPrefs.Save();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 是否是自然量用户
|
|
/// 默认买量用户
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public bool InOrganic()
|
|
{
|
|
string network = PlayerPrefs.GetString(KEY_USER_NETWORK, "");
|
|
if (string.IsNullOrEmpty(network))
|
|
{
|
|
return true;
|
|
}
|
|
|
|
if (network.ToLower().Replace(" ", "") == "Organic".ToLower().Replace(" ", ""))
|
|
{
|
|
return true;
|
|
}
|
|
|
|
//去除大小写和空格之后再对比
|
|
if (network.ToLower().Replace(" ", "") == "Untrusted Devices".ToLower().Replace(" ", "") || network.ToLower().Replace(" ", "") == "Google Organic Search".ToLower().Replace(" ", ""))
|
|
{
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
/// <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);
|
|
}
|
|
} |