miduo_client/Assets/ThinkingAnalytics/Wrapper/TD_Wrapper.cs

484 lines
16 KiB
C#

using System;
using System.Collections.Generic;
using ThinkingAnalytics.Utils;
using UnityEngine;
namespace ThinkingAnalytics.Wrapper
{
public partial class ThinkingAnalyticsWrapper
{
#if (!(UNITY_EDITOR || UNITY_IOS || UNITY_ANDROID|| UNITY_STANDALONE))
private string uniqueId;
private void init()
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - Thanks for using ThinkingAnalytics SDK for tracking data.");
}
private static void enable_log(bool enableLog)
{
TD_Log.d("TA.Wrapper - calling enable_log with enableLog: " + enableLog);
}
private static void setVersionInfo(string libName, string version) {
}
private void identify(string uniqueId)
{
this.uniqueId = uniqueId;
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling Identify with uniqueId: " + uniqueId);
}
private string getDistinctId()
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling GetDistinctId with return value: " + this.uniqueId);
return this.uniqueId;
}
private void login(string accountId)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling Login with accountId: " + accountId);
}
private void logout()
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling Logout");
}
private void track(string eventName, string properties)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling track with eventName: " + eventName + ", " +
"properties: " + properties);
}
private void track(string eventName, string properties, DateTime datetime)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling track with eventName: " + eventName + ", " +
"properties: " + properties + ", " +
"dateTime: " + datetime.ToString());
}
private void track(ThinkingAnalyticsEvent analyticsEvent)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling track with eventName: " + analyticsEvent.EventName + ", " +
"properties: " + getFinalEventProperties(analyticsEvent.Properties));
}
private void setSuperProperties(string superProperties)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling setSuperProperties with superProperties: " + TD_MiniJSON.Serialize(superProperties));
}
private void unsetSuperProperty(string superPropertyName)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling unsetSuperProperties with superPropertyName: " + superPropertyName);
}
private void clearSuperProperty()
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling clearSuperProperties");
}
private Dictionary<string, object> getSuperProperties()
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling getSuperProperties");
return null;
}
private Dictionary<string, object> getPresetProperties()
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling getPresetProperties");
return null;
}
private void timeEvent(string eventName)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling timeEvent with eventName: " + eventName);
}
private void userSet(string properties)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling userSet with properties: " + TD_MiniJSON.Serialize(properties));
}
private void userSet(string properties, DateTime dateTime)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling userSet with properties: " + TD_MiniJSON.Serialize(properties)
+ ", dateTime: " + dateTime.ToString("yyyy-MM-dd HH:mm:ss.fff"));
}
private void userSetOnce(string properties)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling userSetOnce with properties: " + TD_MiniJSON.Serialize(properties));
}
private void userSetOnce(string properties, DateTime dateTime)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling userSetOnce with properties: " + TD_MiniJSON.Serialize(properties)
+ ", dateTime: " + dateTime.ToString("yyyy-MM-dd HH:mm:ss.fff"));
}
private void userUnset(List<string> properties)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling userUnset with properties: " + string.Join(", ", properties.ToArray()));
}
private void userUnset(List<string> properties, DateTime dateTime)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling userUnset with properties: " + string.Join(", ", properties.ToArray())
+ ", dateTime: " + dateTime.ToString("yyyy-MM-dd HH:mm:ss.fff"));
}
private void userAdd(string properties)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling userAdd with properties: " + TD_MiniJSON.Serialize(properties));
}
private void userAdd(string properties, DateTime dateTime)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling userAdd with properties: " + TD_MiniJSON.Serialize(properties)
+ ", dateTime: " + dateTime.ToString("yyyy-MM-dd HH:mm:ss.fff"));
}
private void userAppend(string properties)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling userAppend with properties: " + TD_MiniJSON.Serialize(properties));
}
private void userAppend(string properties, DateTime dateTime)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling userAppend with properties: " + TD_MiniJSON.Serialize(properties)
+ ", dateTime: " + dateTime.ToString("yyyy-MM-dd HH:mm:ss.fff"));
}
private void userDelete()
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling userDelete");
}
private void userDelete(DateTime dateTime)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling userDelete" + ", dateTime: " + dateTime.ToString("yyyy-MM-dd HH:mm:ss.fff"));
}
private void flush()
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling flush.");
}
private void enableAutoTrack(AUTO_TRACK_EVENTS events)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling enableAutoTrack: " + events.ToString());
}
private void setNetworkType(ThinkingAnalyticsAPI.NetworkType networkType)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling setNetworkType with networkType: " + (int)networkType);
}
private string getDeviceId() {
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling getDeviceId()");
return "editor device id";
}
private void optOutTracking()
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling optOutTracking()");
}
private void optOutTrackingAndDeleteUser()
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling optOutTrackingAndDeleteUser()");
}
private void optInTracking()
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling optInTracking()");
}
private void enableTracking(bool enabled)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling enableTracking() with enabled: " + enabled);
}
private ThinkingAnalyticsWrapper createLightInstance(ThinkingAnalyticsAPI.Token delegateToken)
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - calling createLightInstance()");
return new ThinkingAnalyticsWrapper(delegateToken, false);
}
private string getTimeString(DateTime dateTime) {
return dateTime.ToString("yyyy-MM-dd HH:mm:ss.fff");
}
private static void calibrateTime(long timestamp)
{
TD_Log.d("TA.Wrapper: - calling calibrateTime() with: " + timestamp);
}
private static void calibrateTimeWithNtp(string ntpServer)
{
TD_Log.d("TA.Wrapper: - calling calibrateTimeWithNtp() with: " + ntpServer);
}
#endif
public readonly ThinkingAnalyticsAPI.Token token;
private IDynamicSuperProperties dynamicSuperProperties;
private static System.Random rnd = new System.Random();
private string serilize<T>(Dictionary<string, T> data) {
return TD_MiniJSON.Serialize(data, getTimeString);
}
public ThinkingAnalyticsWrapper(ThinkingAnalyticsAPI.Token token, bool initRequired = true)
{
this.token = token;
if (initRequired) init();
}
public static void EnableLog(bool enableLog)
{
enable_log(enableLog);
}
public static void SetVersionInfo(string version)
{
setVersionInfo("Unity", version);
}
public void Identify(string uniqueId)
{
identify(uniqueId);
}
public string GetDistinctId()
{
return getDistinctId();
}
public void Login(string accountId)
{
login(accountId);
}
public void Logout()
{
logout();
}
public void EnableAutoTrack(AUTO_TRACK_EVENTS events)
{
enableAutoTrack(events);
}
private string getFinalEventProperties(Dictionary<string, object> properties)
{
TD_PropertiesChecker.CheckProperties(properties);
if (null != dynamicSuperProperties)
{
Dictionary<string, object> finalProperties = new Dictionary<string, object>();
TD_PropertiesChecker.MergeProperties(dynamicSuperProperties.GetDynamicSuperProperties(), finalProperties);
TD_PropertiesChecker.MergeProperties(properties, finalProperties);
return serilize(finalProperties);
}
else
{
return serilize(properties);
}
}
public void Track(string eventName, Dictionary<string, object> properties)
{
TD_PropertiesChecker.CheckString(eventName);
track(eventName, getFinalEventProperties(properties));
}
public void Track(string eventName, Dictionary<string, object> properties, DateTime datetime)
{
TD_PropertiesChecker.CheckString(eventName);
track(eventName, getFinalEventProperties(properties), datetime);
}
public void Track(ThinkingAnalyticsEvent taEvent)
{
if (null == taEvent || null == taEvent.EventType)
{
TD_Log.w("Ignoring invalid TA event");
return;
}
if (taEvent.EventTime == null)
{
TD_Log.w("ppp null...");
}
TD_PropertiesChecker.CheckString(taEvent.EventName);
TD_PropertiesChecker.CheckProperties(taEvent.Properties);
track(taEvent);
}
public void SetSuperProperties(Dictionary<string, object> superProperties)
{
TD_PropertiesChecker.CheckProperties(superProperties);
setSuperProperties(serilize(superProperties));
}
public void UnsetSuperProperty(string superPropertyName)
{
TD_PropertiesChecker.CheckString(superPropertyName);
unsetSuperProperty(superPropertyName);
}
public void ClearSuperProperty()
{
clearSuperProperty();
}
public void TimeEvent(string eventName)
{
TD_PropertiesChecker.CheckString(eventName);
timeEvent(eventName);
}
public Dictionary<string, object> GetSuperProperties()
{
return getSuperProperties();
}
public Dictionary<string, object> GetPresetProperties()
{
return getPresetProperties();
}
public void UserSet(Dictionary<string, object> properties)
{
TD_PropertiesChecker.CheckProperties(properties);
userSet(serilize(properties));
}
public void UserSet(Dictionary<string, object> properties, DateTime dateTime)
{
TD_PropertiesChecker.CheckProperties(properties);
userSet(serilize(properties), dateTime);
}
public void UserSetOnce(Dictionary<string, object> properties)
{
TD_PropertiesChecker.CheckProperties(properties);
userSetOnce(serilize(properties));
}
public void UserSetOnce(Dictionary<string, object> properties, DateTime dateTime)
{
TD_PropertiesChecker.CheckProperties(properties);
userSetOnce(serilize(properties), dateTime);
}
public void UserUnset(List<string> properties)
{
TD_PropertiesChecker.CheckProperteis(properties);
userUnset(properties);
}
public void UserUnset(List<string> properties, DateTime dateTime)
{
TD_PropertiesChecker.CheckProperteis(properties);
userUnset(properties, dateTime);
}
public void UserAdd(Dictionary<string, object> properties)
{
TD_PropertiesChecker.CheckProperties(properties);
userAdd(serilize(properties));
}
public void UserAdd(Dictionary<string, object> properties, DateTime dateTime)
{
TD_PropertiesChecker.CheckProperties(properties);
userAdd(serilize(properties), dateTime);
}
public void UserAppend(Dictionary<string, object> properties)
{
TD_PropertiesChecker.CheckProperties(properties);
userAppend(serilize(properties));
}
public void UserAppend(Dictionary<string, object> properties, DateTime dateTime)
{
TD_PropertiesChecker.CheckProperties(properties);
userAppend(serilize(properties), dateTime);
}
public void UserDelete()
{
userDelete();
}
public void UserDelete(DateTime dateTime)
{
userDelete(dateTime);
}
public void Flush()
{
flush();
}
public void SetNetworkType(ThinkingAnalyticsAPI.NetworkType networkType)
{
setNetworkType(networkType);
}
public string GetDeviceId()
{
return getDeviceId();
}
public void SetDynamicSuperProperties(IDynamicSuperProperties dynamicSuperProperties)
{
if (!TD_PropertiesChecker.CheckProperties(dynamicSuperProperties.GetDynamicSuperProperties()))
{
TD_Log.d("TA.Wrapper(" + token.appid + ") - Cannot set dynamic super properties due to invalid properties.");
}
this.dynamicSuperProperties = dynamicSuperProperties;
}
public void OptOutTracking()
{
optOutTracking();
}
public void OptOutTrackingAndDeleteUser()
{
optOutTrackingAndDeleteUser();
}
public void OptInTracking()
{
optInTracking();
}
public void EnableTracking(bool enabled)
{
enableTracking(enabled);
}
public ThinkingAnalyticsWrapper CreateLightInstance()
{
return createLightInstance(new ThinkingAnalyticsAPI.Token(rnd.Next().ToString(), token.serverUrl, token.mode, token.timeZone, token.timeZoneId));
}
internal string GetAppId()
{
return token.appid;
}
public static void CalibrateTime(long timestamp)
{
calibrateTime(timestamp);
}
public static void CalibrateTimeWithNtp(string ntpServer)
{
calibrateTimeWithNtp(ntpServer);
}
}
}