BuryPointManager.cs 1.9 KB
using System;
using Newtonsoft.Json;
using UnityEngine;
using Object = System.Object;

public class BuryPointManager : Singleton<BuryPointManager>
{

    //上线地址
    private string path = "https://findart.edcc.cn/gateway/main-api/api/buryPoint/create";
    

    //埋点
    public void BuryPoint(BuryPointInfos buryPointInfos, Action<string> onSuccess, Action<string> onError = null)
    {
        
        var appInfo = AppInfo.GetAppInfo;
        
        buryPointInfos.appId = appInfo.AppId;
        buryPointInfos.appVersion = appInfo.AppVersion;
        buryPointInfos.deviceId = SystemInfo.deviceUniqueIdentifier;
        string body = JsonConvert.SerializeObject(buryPointInfos);

        var serverPath = string.IsNullOrEmpty(appInfo.BuryServer) ? path : appInfo.BuryServer;
        
        StartCoroutine(HttpsManager.Instance.PostRequest(serverPath,body,onSuccess,onError));
    }


    [Serializable]
    public class BuryPointInfos
    {
        public string appId;
        public string eventId;
        public string deviceId;
        public string appVersion;
        public string remark;
        public BuryPointParam @params;
    }

    [Serializable]
    public class BuryPointParam
    {
        public string page;
    }
    
    public class BuryPointClickParam : BuryPointParam
    {
        //点击 【buttonId+buttonText+page】
        public string buttonId;
        public string buttonText;
    }
    public class BuryPointEvaluateParam : BuryPointParam
    {
        //点击评价【buttonId+buttonText+page+evaluate】
        public string buttonId;
        public string buttonText;
        public int evaluate;
    }
    
    public class BuryPointViewParam : BuryPointParam
    {
        //访问 【page+duration】
        public string duration;
    }


    [Serializable]
    public class RequestInfos<T>
    {
        public int code;
        public string msg;
        public T data;
    }
}