So I'm trying to build a simple system for player profile pics. I've read all of the tutorials and documentation on uploadables I could find.
The first issue is the fact that it's a seperate API call to get a player's profile picture. This means that if I'm showing a list of players, such as a friends list or leaderboard, it's now 1 + number of players API calls. So a leaderboard of 50 players is now 51 API calls in order to display properly. Is there a way to have longer lived uploadable URLs so that I'm not having to make a ridiculous number of API calls for simple functions?
Next is the concept of validating the files. As far as I can tell there is nothing preventing the upload of corrupt or malicious files. Normally, I would have the server do a few basic checks, such as it's a valid image file. I don't see a way to do this on GameSparks. Is there a way to make sure that a file that's been uploaded is an image?
I understand the concept of storing the pictures on S3, I've done it with other systems before in the past. However, that means I'm running EC2 instances just for processing player pictures. GameSparks sells itself as an all-in-one solution, so I'm trying to see if there is an option internally before I have to use an external one.
Im afraid the current limit will not be extended. If you wish to limit calls you can adjust the entry count when acquiring leaderboard entries. In most cases there is little use in displaying the majority of entries on a leaderboard as players are mainly concerned with the to tier players as well as those surrounding their entry.
We do not allow for the execution of binaries on the backend so the risk here is already mitigated. Uploadables are simply stored on s3 along with an upload id being stored on GameSparks. If you wish to verify a pass can be done upon them being downloaded on the client.
Happy to help - Patrick.