
TL;DR (yeah, this is going at the top)
Social Cloud save is an asset that my team has been working on for a little bit, and should be completed soon! The short and fast of it is that it’s designed so that users can sign in from virtually any social media (Facebook, Twitter, Instagram, Google play, etc.), and get their save data on any device. Of course, users can also save using the plugin without a social media account, and add one (or multiple) accounts later, after which their data will then be synchronized on their cloud. Offline storage is also supported, and save data is synced to the most recent revision of their data.
Features:
- It’s fast - really fast
Writing 150,000 Key value pairs (int, random string of size 20) to disk took 25ms on a galaxy s6, and the database is fast enough to host realtime first person shooter game data. This means non noticeable load / save times, not even a single frame hiccup for your users.
- No setup required
Google firebase makes the setup of the cloud service nonexistent, beyond registering a firebase account. 10gb downloaded and unlimited uploads can be obtained for free, forever.
- Anti tamper + encryption.
End to end encryption, save data may be encrypted with an AES cipher of 128, 192 or 256 bits. All data contracts are performed through SSL. Having an encrypted database and binary file prevents users from cheating, and enables sensitive data to be saved without risk.
- Strong database rules.
The backend database is maintained through strict rules which are non circumventable by users. Paths are locked to specific user ID’s which can only be accessed if the client holds a valid OAUTH linked to their stored UID. Again, this increases security.
- It kind of “just works”
When implementing social logins, there are pre-constructed prefabs for you to throw in that will make a social media login completely effortless. Drop a button in, and with no further effort, when it’s pressed, your user will instantly authenticate with the database. From there, you’re a single function call away from a backed up save.
- Verbose datatype storage
SCS (Social Cloud Save) supports the following types:
bool, int, float, double, string, Vector2,3,4, Quaternions, Matrix4x4s, List(where E is any previously mentioned dataType, or List), and Dictionaries<string, object> of any of the previously mentioned dataTypes, including other Dictionaries of type<string, object>
- Analytics scraping (coming soon)
There will be an option for you as a developer to get custom analytics reports (via firebase analytics) on any project you have with this asset, retrieving whatever information you wish. This can be game data (user skill, level completion, etc.) or even anonymized demographic information. These analytic reports can be tied to your users UID’s, so that you can compare certain demographics performance in metrics (such as advertisement fulfillment, purchases, etc) and even adjust certain aspects of your game to meet these insights.
Here’s an in-code example of an implementation of it; the first class is a dummy class, as literally any Dictionary<string, object> (of the mentioned types) may be synced with any FireBaseDataBaseReference- However, most people will probably stick with this implementation, which fills every purpose the general developer will ever need
And the actual use of the asset (what you, as the developer will need to do)
using io.skstudios.FireBaseCloudSave;
int i = 5;
string s = "abcd";
// values inserted into dict here
i.setSave("integer");
s.setSave("string");
// dictionary synced with db here
syncSave();
.......
int k;
string d;
// values retrieved from dict here
k.getSave("integer");
d.getSave("string");
Simple as that.
So that’s pretty much it, we’re making a fast, secure, inexpensive solution for cloud saving that overall improves the user experience in a secure fashion.
Is there any interest for this / do you have any suggestions as to how we might improve our product before launch?