public void SetupSession(Dictionary <string, object> participantInfo) { string ppid = NewShortGUID(); participantInfo.Add("ppid", ppid); participantInfo.Add("unique_device_id", SystemInfo.deviceUniqueIdentifier); participantInfo.Add("datetime", System.DateTime.Now.ToString()); participantInfo.Add("in_unity_editor", Application.isEditor); session.Begin( experimentName, ppid, SaveFolderPath, 1, participantDetails: participantInfo, settings: new UXF.Settings(settings) ); string ri = DiskReleaseInfoPath; if (!File.Exists(ri)) { File.WriteAllText(ri, "{}"); } string releaseInfoString = File.ReadAllText(ri); var releaseInfo = (Dictionary <string, object>)MiniJSON.Json.Deserialize(releaseInfoString); session.WriteDictToSessionFolder(releaseInfo, diskReleaseInfoName.Replace(".json", string.Empty)); }
void Start() { // here we can programatically obtain experiment name, ppid, etc string experimentName = "example_without_ui"; string ppid = "example_ppid"; // here we make a settings object from a JSON string - this could, for example, be pulled from a web API. UXF.Settings sessionSettings = new UXF.Settings( (Dictionary <string, object>)MiniJSON.Json.Deserialize(jsonString) ); session.Begin(experimentName, ppid, "example_output", settings: sessionSettings); // herein everything is the same }
public void BeginSessionManually() { // // :: We will call this method by pressing the Begin Session button on the UI. // // here we can programatically obtain ppid from the UI. string ppid = ppidField.text; // if ppid empty, throw an error if (ppid.Trim() == string.Empty) { throw new System.Exception("Error! PPID is blank!"); } // we take the text from the input boxes and store it in participant details. Dictionary <string, object> myParticipantDetails = new Dictionary <string, object>() { { "favourite_colour", favouriteColourField.text }, { "favourite_food", favouriteFoodField.text } }; // we take the text from the num trials input and convert to int int numTrials = System.Convert.ToInt32(numTrialsField.text); // if less than or equal to zero, throw an error if (numTrials <= 0) { throw new System.Exception("Error! Number of trials must be greater than 0!"); } // store the value in a Settings object UXF.Settings mySettings = new UXF.Settings(); mySettings.SetValue("n_trials", numTrials); // begin the session with our new values. // settings and participant details are optional string experimentName = "example_manual_start"; session.Begin(experimentName, ppid, settings: mySettings, participantDetails: myParticipantDetails); }