Advice on (Easy) Client Server Networking

I need some advice on implementation. I need a simple server that allows clients to save & read data to and from a server. The data itself is going to be simple a few strings. There will be no login required but maybe a unique identifier from the client side so no duplicates are added. I can see the data being stored in a single table.

Now I know I can get an Azure server and install a SQL database and create a Web Service and simply call that web service from Unity. However its 2017 (almost 2018) so there should be an easier way like though some Cloud Service.

For example Microsoft Azure has something called Azure App Service which basically takes care of the storage/webservice part. However I have not seen any good Unity examples that would work on Mobile (Android & iOS). The Microsoft video that shows an implementation for Unity was for desktop and it was very painful.

So my question is what is the easiest way to implement this. I don’t mind paying for hosting costs like through something like Photon, however I don’t want a standard multiplayer solution which is what they seem to offer. I just need to send and read some user data to a server in the easiest possible way.

Thanks for your help

easiest and cheapest solution for now would be to use a backend tailored for game, gamespark offer 100k MAU for free which is far beyond other solution for free tier

Thank you I will check out Gamespark, have you used it in your games?

Do you need to be server-authoritative? Playfab and (Amazon) Gamesparks can offer the persistence stuff, whereas you could use something like photon for the real-time aspect.

Yes it has to be server-authoritative. Don’t really need multiplayer or leaderboards just needs to save some data for each player. I will check out Gamespark.

feel free to join the unofficial gamespark discord if you have questions: Discord

The Googles have many APIs you can use: Cloud Storage JSON API overview  |  Google Cloud

I personally use http://exist-db.org.

xquery version "3.1";

module namespace space1="http://meow.com/space1";

declare namespace json="http://www.json.org";
declare namespace output="http://www.w3.org/2010/xslt-xquery-serialization";

declare
    %rest:POST("{$payload}")
    %rest:path("/space1/post2")
    %rest:consumes("application/json")
    %rest:produces("application/json")
    %output:media-type("application/json")
    %output:method("json")
function space1:post2($payload as xs:base64Binary)
{
    let $json := util:base64-decode($payload)
    let $realjson := parse-json($json)
   
    return element root {
        element thatsometingis { $realjson?something }
    }
};