Пример #1
0
        void Awake()
        {
            #if DISABLE_TA
            tracking_enabled = false;
            #endif
            TD_Log.EnableLog(enableLog);
            ThinkingAnalyticsWrapper.SetVersionInfo(VERSION);
            if (TA_instance == null)
            {
                DontDestroyOnLoad(gameObject);
                TA_instance = this;
            }
            else
            {
                Destroy(gameObject);
                return;
            }

            if (tracking_enabled)
            {
                default_appid = tokens[0].appid;
                instance_lock.EnterWriteLock();
                try
                {
                    ThinkingAnalyticsWrapper.EnableLog(enableLog);
                    foreach (Token token in tokens)
                    {
                        if (!string.IsNullOrEmpty(token.appid))
                        {
                            sInstances.Add(token.appid, new ThinkingAnalyticsWrapper(token));
                        }
                    }
                }
                finally
                {
                    instance_lock.ExitWriteLock();
                }

                if (sInstances.Count == 0)
                {
                    tracking_enabled = false;
                }
                else
                {
                    getInstance(default_appid).SetNetworkType(networkType);
                }
            }
        }
Пример #2
0
 /// <summary>
 /// 创建轻量级实例,轻量级实例与主实例共享项目ID. 访客ID、账号ID、公共属性不共享
 /// </summary>
 /// <param name="appId">项目ID</param>
 /// <returns>轻量级实例的 token </returns>
 public static string CreateLightInstance(string appId = "")
 {
     if (tracking_enabled)
     {
         ThinkingAnalyticsWrapper lightInstance = getInstance(appId).CreateLightInstance();
         instance_lock.EnterWriteLock();
         try
         {
             sInstances.Add(lightInstance.GetAppId(), lightInstance);
         } finally
         {
             instance_lock.ExitWriteLock();
         }
         return(lightInstance.GetAppId());
     }
     else
     {
         return(null);
     }
 }
Пример #3
0
 /// <summary>
 /// 传入 NTP Server 地址校准 SDK 时间.
 ///
 /// 您可以根据您用户所在地传入访问速度较快的 NTP Server 地址, 例如 time.asia.apple.com
 /// SDK 默认情况下会等待 3 秒,去获取时间偏移数据,并用该偏移校准之后的数据.
 /// 如果在 3 秒内未因网络原因未获得正确的时间偏移,本次应用运行期间将不会再校准时间.
 /// </summary>
 /// <param name="timestamp">可用的 NTP 服务器地址</param>
 public static void CalibrateTimeWithNtp(string ntpServer)
 {
     ThinkingAnalyticsWrapper.CalibrateTimeWithNtp(ntpServer);
 }
Пример #4
0
 /// <summary>
 /// 传入时间戳校准 SDK 时间.
 /// </summary>
 /// <param name="timestamp">当前 Unix timestamp, 单位 毫秒</param>
 public static void CalibrateTime(long timestamp)
 {
     ThinkingAnalyticsWrapper.CalibrateTime(timestamp);
 }