void Awake() { string domain = ""; int port = 80; bool secure = false; if (host != "") { string[] splitted = host.Split('/'); string[] host_splitted = splitted[2].Split(':'); domain = host_splitted[0]; port = (host_splitted.Length > 1) ? int.Parse(host_splitted[1]) : (splitted[0] == "https:" ? 443 : 80); secure = splitted[0] == "https:"; } TrackerAsset.TraceFormats format; switch (traceFormat) { case "json": format = TrackerAsset.TraceFormats.json; break; case "xapi": format = TrackerAsset.TraceFormats.xapi; break; default: format = TrackerAsset.TraceFormats.csv; break; } TrackerAsset.StorageTypes storage; switch (storageType) { case "net": storage = TrackerAsset.StorageTypes.net; break; default: storage = TrackerAsset.StorageTypes.local; break; } TrackerAssetSettings tracker_settings = new TrackerAssetSettings() { Host = domain, TrackingCode = trackingCode, BasePath = "/api", Port = port, Secure = secure, StorageType = storage, TraceFormat = format, BackupStorage = rawCopy }; TrackerAsset.Instance.Bridge = new UnityBridge(); TrackerAsset.Instance.Settings = tracker_settings; }
private void Form1_Load(object sender, EventArgs e) { Console.SetOut(new TextBoxWritter(ConsoleWindow)); TraceVerb.DataSource = Enum.GetValues(typeof(TrackerAsset.Verb)); List <object> values = new List <object>(); values.AddRange(Enum.GetValues(typeof(AccessibleTracker.Accessible)).Cast <object>()); values.AddRange(Enum.GetValues(typeof(AlternativeTracker.Alternative)).Cast <object>()); values.AddRange(Enum.GetValues(typeof(CompletableTracker.Completable)).Cast <object>()); values.AddRange(Enum.GetValues(typeof(GameObjectTracker.TrackedGameObject)).Cast <object>()); List <KeyValuePair <int, string> > boolean_values = new List <KeyValuePair <int, string> >(); boolean_values.Add(new KeyValuePair <int, string>(-1, "Undefined")); boolean_values.Add(new KeyValuePair <int, string>(0, "False")); boolean_values.Add(new KeyValuePair <int, string>(1, "True")); TraceObjectType.DataSource = values; TraceResultSucced.DataSource = new List <KeyValuePair <int, string> >(boolean_values); TraceResultCompleted.DataSource = new List <KeyValuePair <int, string> >(boolean_values); CompletableSucced.DataSource = new List <KeyValuePair <int, string> >(boolean_values); AccesibleType.DataSource = Enum.GetValues(typeof(AccessibleTracker.Accessible)); AlternativeType.DataSource = Enum.GetValues(typeof(AlternativeTracker.Alternative)); CompletableType.DataSource = Enum.GetValues(typeof(CompletableTracker.Completable)); GameObjectType.DataSource = Enum.GetValues(typeof(GameObjectTracker.TrackedGameObject)); settings = new TrackerAssetSettings(); settings.Host = "127.0.0.1"; settings.Port = 8080; settings.StorageType = TrackerAsset.StorageTypes.local; settings.TraceFormat = TrackerAsset.TraceFormats.csv; TrackerAsset.Instance.Bridge = new TesterBridge(); //TrackerAsset.Instance.Login("teacher", "teacher"); TrackerAsset.Instance.Start(); }
public void ExitApplication() { if (PlayerPrefs.HasKey("LimesurveyToken") && PlayerPrefs.GetString("LimesurveyToken") != "ADMIN" && PlayerPrefs.HasKey("LimesurveyPost")) { string path = Application.persistentDataPath; if (!path.EndsWith("/")) { path += "/"; } Dictionary <string, string> headers = new Dictionary <string, string>(); Net net = new Net(this); WWWForm data = new WWWForm(); TrackerAssetSettings trackersettings = (TrackerAssetSettings)TrackerAsset.Instance.Settings; string backupfile = Application.persistentDataPath + System.IO.Path.DirectorySeparatorChar + trackersettings.BackupFile; data.AddField("token", PlayerPrefs.GetString("LimesurveyToken")); data.AddBinaryData("traces", System.Text.Encoding.UTF8.GetBytes(System.IO.File.ReadAllText(backupfile))); //d//ata.headers.Remove ("Content-Type");// = "multipart/form-data"; net.POST(PlayerPrefs.GetString("LimesurveyHost") + "classes/collector", data, new SavedTracesListener()); System.IO.File.AppendAllText(path + PlayerPrefs.GetString("LimesurveyToken") + ".csv", System.IO.File.ReadAllText(backupfile)); PlayerPrefs.SetString("CurrentSurvey", "post"); SceneManager.LoadScene("_Survey"); } else { Application.Quit(); } }
public IEnumerator StartTracker(TrackerConfig config, IBridge bridge = null) { trackerConfig = config; string domain = ""; int port = 80; bool secure = false; Debug.Log("[ANALYTICS] Setting up tracker..."); try { if (config.getHost() != "") { string[] splitted = config.getHost().Split('/'); if (splitted.Length > 1) { string[] host_splitted = splitted[2].Split(':'); if (host_splitted.Length > 0) { domain = host_splitted[0]; port = (host_splitted.Length > 1) ? int.Parse(host_splitted[1]) : (splitted[0] == "https:" ? 443 : 80); secure = splitted[0] == "https:"; } } } else { config.setHost("localhost"); } Debug.Log("[ANALYTICS] Config: " + JsonConvert.SerializeObject(config)); } catch (System.Exception e) { Debug.Log("Tracker error: Host bad format"); } TrackerAsset.TraceFormats format; switch (config.getTraceFormat()) { case TrackerConfig.TraceFormat.XAPI: format = TrackerAsset.TraceFormats.xapi; break; default: format = TrackerAsset.TraceFormats.csv; break; } Debug.Log("[ANALYTICS] Format: " + format); TrackerAsset.StorageTypes storage; switch (config.getStorageType()) { case TrackerConfig.StorageType.NET: storage = TrackerAsset.StorageTypes.net; break; default: storage = TrackerAsset.StorageTypes.local; break; } Debug.Log("[ANALYTICS] Storage: " + storage); TrackerAssetSettings tracker_settings = new TrackerAssetSettings() { Host = domain, TrackingCode = config.getTrackingCode(), BasePath = trackerConfig.getBasePath() ?? "/api", LoginEndpoint = trackerConfig.getLoginEndpoint() ?? "login", StartEndpoint = trackerConfig.getStartEndpoint() ?? "proxy/gleaner/collector/start/{0}", TrackEndpoint = trackerConfig.getStartEndpoint() ?? "proxy/gleaner/collector/track", Port = port, Secure = secure, StorageType = storage, TraceFormat = format, BackupStorage = config.getRawCopy(), UseBearerOnTrackEndpoint = trackerConfig.getUseBearerOnTrackEndpoint() }; Debug.Log("[ANALYTICS] Settings: " + JsonConvert.SerializeObject(tracker_settings)); TrackerAsset.Instance.StrictMode = false; TrackerAsset.Instance.Bridge = bridge ?? new UnityBridge(); TrackerAsset.Instance.Settings = tracker_settings; TrackerAsset.Instance.StrictMode = false; var done = false; if (storage == TrackerAsset.StorageTypes.net && !string.IsNullOrEmpty(User) && !string.IsNullOrEmpty(Password)) { Debug.Log("[ANALYTICS] Loging in..."); TrackerAsset.Instance.LoginAsync(User, Password, logged => { Debug.Log("[ANALYTICS] Logged"); if (logged) { Debug.Log("[ANALYTICS] Starting tracker..."); TrackerAsset.Instance.StartAsync(() => done = true); } else { done = true; } }); } else { Debug.Log("[ANALYTICS] Starting tracker without login..."); TrackerAsset.Instance.StartAsync(() => done = true); } this.nextFlush = config.getFlushInterval(); Debug.Log("[ANALYTICS] Waiting until start"); yield return(new WaitUntil(() => done)); Debug.Log("[ANALYTICS] Start done, result: " + TrackerAsset.Instance.Started); }
private void PrepareTracker(TrackerConfig config) { trackerConfig = config; string domain = ""; int port = 80; bool secure = false; try { if (config.getHost() != "") { string[] splitted = config.getHost().Split('/'); if (splitted.Length > 1) { string[] host_splitted = splitted[2].Split(':'); if (host_splitted.Length > 0) { domain = host_splitted[0]; port = (host_splitted.Length > 1) ? int.Parse(host_splitted[1]) : (splitted[0] == "https:" ? 443 : 80); secure = splitted[0] == "https:"; } } } else { config.setHost("localhost"); } } catch (System.Exception e) { Debug.Log("Tracker error: Host bad format"); } TrackerAsset.TraceFormats format; switch (config.getTraceFormat()) { case TrackerConfig.TraceFormat.XAPI: format = TrackerAsset.TraceFormats.xapi; break; default: format = TrackerAsset.TraceFormats.csv; break; } TrackerAsset.StorageTypes storage; switch (config.getStorageType()) { case TrackerConfig.StorageType.NET: storage = TrackerAsset.StorageTypes.net; break; default: storage = TrackerAsset.StorageTypes.local; break; } TrackerAssetSettings tracker_settings = new TrackerAssetSettings() { Host = domain, TrackingCode = config.getTrackingCode(), BasePath = "/api", Port = port, Secure = secure, StorageType = storage, TraceFormat = format, BackupStorage = config.getRawCopy(), }; TrackerAsset.Instance.StrictMode = false; TrackerAsset.Instance.Bridge = new UnityBridge(); TrackerAsset.Instance.Settings = tracker_settings; TrackerAsset.Instance.StrictMode = false; if (PlayerPrefs.HasKey("LimesurveyToken") && PlayerPrefs.GetString("LimesurveyToken") != "ADMIN") { TrackerAsset.Instance.Login(PlayerPrefs.GetString("LimesurveyToken"), PlayerPrefs.GetString("LimesurveyToken")); } TrackerAsset.Instance.Start(); this.nextFlush = config.getFlushInterval(); }
private void PrepareTracker(TrackerConfig config) { string domain = ""; int port = 80; bool secure = false; try { if (config.getHost() != "") { string[] splitted = config.getHost().Split('/'); if (splitted.Length > 1) { string[] host_splitted = splitted[2].Split(':'); if (host_splitted.Length > 0) { domain = host_splitted[0]; port = (host_splitted.Length > 1) ? int.Parse(host_splitted[1]) : (splitted[0] == "https:" ? 443 : 80); secure = splitted[0] == "https:"; } } } else { config.setHost("localhost"); } } catch (System.Exception e) { Debug.Log("Tracker error: Host bad format"); } TrackerAsset.TraceFormats format; switch (config.getTraceFormat()) { case TrackerConfig.TraceFormat.XAPI: format = TrackerAsset.TraceFormats.xapi; break; default: format = TrackerAsset.TraceFormats.csv; break; } TrackerAsset.StorageTypes storage; switch (config.getStorageType()) { case TrackerConfig.StorageType.NET: storage = TrackerAsset.StorageTypes.net; break; default: storage = TrackerAsset.StorageTypes.local; break; } TrackerAssetSettings tracker_settings = new TrackerAssetSettings() { Host = domain, TrackingCode = config.getTrackingCode(), BasePath = "/api", Port = port, Secure = secure, StorageType = storage, TraceFormat = format, BackupStorage = config.getRawCopy() }; TrackerAsset.Instance.Bridge = new UnityBridge(); TrackerAsset.Instance.Settings = tracker_settings; /* TODO: login disabled * if (!String.IsNullOrEmpty(username)) * TrackerAsset.Instance.Login(username, password); */ TrackerAsset.Instance.Start(); this.nextFlush = config.getFlushInterval(); }
public void StartTracker(TrackerConfig config, IBridge bridge = null) { trackerConfig = config; string domain = ""; int port = 80; bool secure = false; try { if (config.getHost() != "") { string[] splitted = config.getHost().Split('/'); if (splitted.Length > 1) { string[] host_splitted = splitted[2].Split(':'); if (host_splitted.Length > 0) { domain = host_splitted[0]; port = (host_splitted.Length > 1) ? int.Parse(host_splitted[1]) : (splitted[0] == "https:" ? 443 : 80); secure = splitted[0] == "https:"; } } } else { config.setHost("localhost"); } } catch (System.Exception e) { Debug.Log("Tracker error: Host bad format"); } TrackerAsset.TraceFormats format; switch (config.getTraceFormat()) { case TrackerConfig.TraceFormat.XAPI: format = TrackerAsset.TraceFormats.xapi; break; default: format = TrackerAsset.TraceFormats.csv; break; } TrackerAsset.StorageTypes storage; switch (config.getStorageType()) { case TrackerConfig.StorageType.NET: storage = TrackerAsset.StorageTypes.net; break; default: storage = TrackerAsset.StorageTypes.local; break; } TrackerAssetSettings tracker_settings = new TrackerAssetSettings() { Host = domain, TrackingCode = config.getTrackingCode(), BasePath = trackerConfig.getBasePath() ?? "/api", LoginEndpoint = trackerConfig.getLoginEndpoint() ?? "login", StartEndpoint = trackerConfig.getStartEndpoint() ?? "proxy/gleaner/collector/start/{0}", TrackEndpoint = trackerConfig.getStartEndpoint() ?? "proxy/gleaner/collector/track", Port = port, Secure = secure, StorageType = storage, TraceFormat = format, BackupStorage = config.getRawCopy(), UseBearerOnTrackEndpoint = trackerConfig.getUseBearerOnTrackEndpoint() }; TrackerAsset.Instance.StrictMode = false; TrackerAsset.Instance.Bridge = bridge ?? new UnityBridge(); TrackerAsset.Instance.Settings = tracker_settings; TrackerAsset.Instance.StrictMode = false; if (storage == TrackerAsset.StorageTypes.net && !string.IsNullOrEmpty(User) && !string.IsNullOrEmpty(Password)) { TrackerAsset.Instance.Login(User, Password); } TrackerAsset.Instance.Start(); this.nextFlush = config.getFlushInterval(); }