Closed cofficer closed 3 years ago
Nice idea, I might get around to adding this - for a quick fix you could call javascript from Unity:
https://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html
Using this code from here: https://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript
mergeInto(LibraryManager.library, {
GetPPID: function () {
var urlParams = new URLSearchParams(window.location.search);
var myParam = urlParams.get('ppid');
return myParam;
}
)
Call this from Unity, then use this PPID to start the session manually, or set PPID to automatic but then record this new ppid elsewhere.
Awesome thank you!
I was wondering if it would be possible to add an additional PPID mode where the ID is grabbed directly from the URL.
I'm using Prolific to recruit participants which then are redirected to Gorilla, and finally to the web page of the WebGL experiment. The addressbar contains their unique participant ID in this form: http://www.your-url-above.com?id=PUBLICID
Gorilla and Prolific have a nice way of integrating their unique participant IDs: https://researcher-help.prolific.co/hc/en-gb/articles/360009223973-Gorilla-Integration-Guide
If the variable PUBLICID could be used directly, it would save the possible user error of entering this manually, and would make for a simple way to match all the data across multiple platforms without the need of several different generated unique IDs per participant.
If I was more comfortable editing the UIController.cs script I would attempt a pull request for this functionality but I think I would just mess it up!