Upload score works on PC version, but not on iOS or Android

Good morning Unity Community!

I am trying to track and display the total number of users of my app by simply incrementing a .sql database on my personal server. This works great on the PC version of the game. But, when I build the game out to iOS or Android it stops working. The mobile platforms can read the .php file on my server just fine, but they don’t seem to be able to write back.

No error is given, it correctly reads the existing .php file and returns “false” if the device’s identifier is not in the database. When I check the stack, everything seems to be working as expected. I am using Unity 5.2.1f1

Has anyone solved this problem before? (I’ve done some googling, but haven’t come up with a concrete answer).

Code posted here:

   private IEnumerator postData()
    {
        Debug.Log("postDataBegun");
        WWW idPost = new WWW(countUserURL + "udid=" + SystemInfo.deviceUniqueIdentifier); //Post our score
        Debug.Log("postDataSent");
        yield return idPost;
        Debug.Log(idPost);
        if (idPost.error == null)
        {
            if (idPost.text == "true")
            {
                Debug.Log("Serial Scarer!");
                }
            else
            {
                Debug.Log("false");
             }

        }
        else
        {
            Debug.Log("Error posting data");
        }
    }

This problem has been solved for Android! Still working on iOS :confused:

WWW idPost = new WWW(countUserURL + “udid=” + SystemInfo.deviceUniqueIdentifier); //Post our score

should be:

WWW idPost = new WWW(countUserURL + “filename.php?” + “udid=” + SystemInfo.deviceUniqueIdentifier); //Post our score

So, rather than having the file to be accessed included in our countUserURL string variable, it needed to be included in the new WWW line instead.

I have zero idea as to why Android picky about this, but it seems to have done the trick. The server now updates as expected on PC/Android. Now to fix iOS…