Beispiel #1
0
        public static void Init()
        {
#if DEBUG
            GameAnalytics.SetEnabledInfoLog(true);
#endif

            string  exePath = Assembly.GetEntryAssembly().Location;
            string  exeName = null;
            Md5Hash exeHash = null;
            exeName = Path.GetFileNameWithoutExtension(exePath).Replace(":", "");
            var md5 = MD5.Create();
            try
            {
                using (var stream = File.OpenRead(exePath))
                {
                    exeHash = new Md5Hash(stream);
                }
            }
            catch (Exception e)
            {
                DebugConsole.ThrowError("Error while calculating MD5 hash for the executable \"" + exePath + "\"", e);
            }
            try
            {
                GameAnalytics.ConfigureBuild(GameMain.Version.ToString()
                                             + (string.IsNullOrEmpty(exeName) ? "Unknown" : exeName) + ":"
                                             + ((exeHash?.ShortHash == null) ? "Unknown" : exeHash.ShortHash));

                GameAnalytics.AddDesignEvent("Executable:"
                                             + (string.IsNullOrEmpty(exeName) ? "Unknown" : exeName) + ":"
                                             + ((exeHash?.ShortHash == null) ? "Unknown" : exeHash.ShortHash));

                GameAnalytics.ConfigureAvailableCustomDimensions01("singleplayer", "multiplayer", "editor");
                GameAnalytics.Initialize("a3a073c20982de7c15d21e840e149122", "9010ad9a671233b8d9610d76cec8c897d9ff3ba7");
            }
            catch (Exception e)
            {
                DebugConsole.ThrowError("Initializing GameAnalytics failed. Disabling user statistics...", e);
                GameSettings.SendUserStatistics = false;
                return;
            }

            if (GameMain.Config?.SelectedContentPackages.Count > 0)
            {
                StringBuilder sb = new StringBuilder("ContentPackage:");
                int           i  = 0;
                foreach (ContentPackage cp in GameMain.Config.SelectedContentPackages)
                {
                    sb.Append(cp.Name.Replace(":", "").Substring(0, Math.Min(32, cp.Name.Length)));
                    if (i < GameMain.Config.SelectedContentPackages.Count - 1)
                    {
                        sb.Append(",");
                    }
                }
                GameAnalytics.AddDesignEvent(sb.ToString());
            }
        }
        private static void configureAvailableCustomDimensions01(string list)
        {
            IList <object> objectList = GA_MiniJSON.Deserialize(list) as IList <object>;
            ArrayList      arrayList  = new ArrayList();

            foreach (object obj in (IEnumerable <object>)objectList)
            {
                arrayList.Add(obj);
            }
            GameAnalytics.ConfigureAvailableCustomDimensions01((string[])arrayList.ToArray(typeof(string)));
        }
Beispiel #3
0
        public static void Init()
        {
#if DEBUB
            GameAnalytics.SetEnabledInfoLog(true);
#endif
            GameAnalytics.ConfigureBuild(GameMain.Version.ToString());
            GameAnalytics.ConfigureAvailableCustomDimensions01("singleplayer", "multiplayer", "editor");
            GameAnalytics.Initialize("a3a073c20982de7c15d21e840e149122", "9010ad9a671233b8d9610d76cec8c897d9ff3ba7");

            string contentPackageName = GameMain.Config?.SelectedContentPackage?.Name;
            if (!string.IsNullOrEmpty(contentPackageName))
            {
                GameAnalytics.AddDesignEvent("ContentPackage:" +
                                             contentPackageName.Replace(":", "").Substring(0, Math.Min(32, contentPackageName.Length)));
            }
        }
Beispiel #4
0
        public static void Init()
        {
#if DEBUG
            GameAnalytics.SetEnabledInfoLog(true);
#endif

            string  exePath = Assembly.GetEntryAssembly().Location;
            string  exeName = null;
            Md5Hash exeHash = null;
            exeName = Path.GetFileNameWithoutExtension(exePath).Replace(":", "");
            var md5 = MD5.Create();
            try
            {
                using (var stream = File.OpenRead(exePath))
                {
                    exeHash = new Md5Hash(stream);
                }
            }
            catch (Exception e)
            {
                DebugConsole.ThrowError("Error while calculating MD5 hash for the executable \"" + exePath + "\"", e);
            }

            GameAnalytics.ConfigureBuild(GameMain.Version.ToString()
                                         + (string.IsNullOrEmpty(exeName) ? "Unknown" : exeName)
                                         + "_(" + NilMod.NilModVersionDate + ")" + ":"
                                         + ((exeHash?.ShortHash == null) ? "Unknown" : exeHash.ShortHash));

            GameAnalytics.AddDesignEvent("Executable:"
                                         + (string.IsNullOrEmpty(exeName) ? "Unknown" : exeName) + ":"
                                         + ((exeHash?.ShortHash == null) ? "Unknown" : exeHash.ShortHash));

            GameAnalytics.ConfigureAvailableCustomDimensions01("singleplayer", "multiplayer", "editor");
            GameAnalytics.Initialize("a3a073c20982de7c15d21e840e149122", "9010ad9a671233b8d9610d76cec8c897d9ff3ba7");

            string contentPackageName = GameMain.Config?.SelectedContentPackage?.Name;
            if (!string.IsNullOrEmpty(contentPackageName))
            {
                GameAnalytics.AddDesignEvent("ContentPackage:" +
                                             contentPackageName.Replace(":", "").Substring(0, Math.Min(32, contentPackageName.Length)));
            }
        }