Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Classic Chat / Retrieve current user's Apple ID or GameCentre ID?

Author
Message
CumQuaT
AGK Master
13
Years of Service
User Offline
Joined: 28th Apr 2010
Location: Tasmania, Australia
Posted: 16th Feb 2017 15:00 Edited at: 17th Feb 2017 14:15
EDIT: People seem to be missing my question here, so the short version is - Can the current player's GameCentre ID or iTunes username (just username - not password) be collected by AppGameKit (for use in user verification - nothing nefarious). The answer is sounding like a resounding no so far.



Hi all, my latest game uses an in-game currency. All "purchases" of new costumes, skins, powerups, etc, are all made using this in-game currency, which players can grind to collect through playing the game.
Players can, however, opt to skip having to work for it and simply pay real money to get "coins".

However, while submitting our game to Apple for review, they're now telling us that - for games with an in-game currency - it is mandatory that we include an optional user account system in our game where players can create a username/password, etc, which will store the "purchases" they've made using the in-game currency (so NOT purchases made with real money, just the unlocks they've made using the fake coins) so that the player can - if switching to another Apple device - retain their unlocks.

My issue with this system is that - say I were to just slap something together - all it would take would be one person unlocking everything in the game then sharing their account details online and other people could just bypass the IAP process altogether. To bypass this, I figured I could at least minimise that threat by passing into the login system the current user's Apple ID or GameCentre ID (not the password - just the username) and then verify that it's the same when they try and restore their unlocks.

However, I can't seem to figure out a way to achieve this.... Does anyone have any ideas?

This is for Tier 1, btw...

If anyone's interested in giving the game a go, it's up on Android now. It's just Apple who are being pains in the butt. I'll love you long time forever if you give the game a 5 star review! It really helps!
I work full-time making games in AGK2 and DBpro. Living the dream!
Dybing
12
Years of Service
User Offline
Joined: 12th Sep 2011
Location: Bergen, Norway
Posted: 16th Feb 2017 20:17
You'll need a backend server that the application logs into to update the users status. this can (should?) be done automatically - the user simply enters the credentials (name + pass) once, this is saved on the device and used to log in later.

Now, the issue here is encrypted/secure storage, password handling and transport between server and client. Whilst HTTPS/TSL protocol is easy enough - it do cost a bit for a certificate. Then of course come the cost of a persistent server on a cloud service like say AWS. Not entirely free either, though for a low spec VM it's not that expensive.

Writing server backends may not be as glorious as fancy frontends and game-clients, but it is very interesting
CJB
Valued Member
20
Years of Service
User Offline
Joined: 10th Feb 2004
Location: Essex, UK
Posted: 16th Feb 2017 20:34
Quote: " it do cost a bit for a certificate"
...not if it's self signed, which it could be as nobody is going to be browsing to it.
CumQuaT
AGK Master
13
Years of Service
User Offline
Joined: 28th Apr 2010
Location: Tasmania, Australia
Posted: 16th Feb 2017 22:44
You've completely missed my question, dybing...
I work full-time making games in AGK2 and DBpro. Living the dream!
Carharttguy
7
Years of Service
User Offline
Joined: 8th Jul 2016
Location: Belgium
Posted: 17th Feb 2017 08:44
Quote: "My issue with this system is that - say I were to just slap something together - all it would take would be one person unlocking everything in the game then sharing their account details online and other people could just bypass the IAP process altogether. To bypass this, I figured I could at least minimise that threat by passing into the login system the current user's Apple ID or GameCentre ID (not the password - just the username) and then verify that it's the same when they try and restore their unlocks."


I think you're 'creating' a problem here. It could be possible, but only on very small scale. It's not like there is only 1 WoW account and the whole world shares it, or other games.
It could be possible with siblings or parents->kids, but in that case, a Apple ID or GameCenter ID could also be shared.

Getting the Apple ID is not possible because of privacy issues. Getting the GameCenter ID is possible with the iOS, but not with AppGameKit AFAIK.

IMO: Just use login/password, nothing else. Maybe it's an idea to tie highscores or something like that to those account details? People will keep there credentials more secret if there is some archievement bound to it.
CumQuaT
AGK Master
13
Years of Service
User Offline
Joined: 28th Apr 2010
Location: Tasmania, Australia
Posted: 17th Feb 2017 09:01
Quote: "It's not like there is only 1 WoW account and the whole world shares it, or other games."


That is an entirely different situation and pointless to make the comparison.

I'm not naive enough to think that my little app is going to be popular enough to warrant such concerns. I'm simply asking the original question - about gathering the GameCenter or iTunes username - as a means of minimising potential future loss. It's more of a "moral grounds" thing.
I work full-time making games in AGK2 and DBpro. Living the dream!
JohnnyMeek
11
Years of Service
User Offline
Joined: 23rd Apr 2013
Location: Slovenia
Posted: 17th Feb 2017 09:02
use this - https://parseplatform.github.io/ to create user accounts and store your user data.

You'll need to use the REST API.

tmu
7
Years of Service
User Offline
Joined: 2nd Feb 2017
Location:
Posted: 17th Feb 2017 09:32
It would be generally nice to be able to read a bit more of the Gamecenter data on iOS/Android. Device id (generally..), user id, highscores, achievements, ...

I guess, for me, the question in this thread could be framed more generally as in is there some way to identify users/devices via AppGameKit?

The sharing scenario at large scale might not be very likely problem but if you need to set up servers etc. would be nice to be able track at least and see how people use it and have a possibility to identify issues if any..
xCept
21
Years of Service
User Offline
Joined: 15th Dec 2002
Location:
Posted: 18th Feb 2017 01:20
AGK should DEFINITELY add support to get the UserID for Game Center (and similar for Google Play Services). This will make it easy to store and retrieve data from the server tied to the user without having to go through the pains of implementing a full registration and login system manually.

All of the GKPlayer properties (for iOS) and Player properties (for Android) should be added. Right now GameCenter commands are very limited compared to its full potential (which also could include multiplayer etc.)

iOS GKPlayer API: https://developer.apple.com/reference/gamekit/gkplayer

Android Player API: https://developers.google.com/android/reference/com/google/android/gms/games/Player
CumQuaT
AGK Master
13
Years of Service
User Offline
Joined: 28th Apr 2010
Location: Tasmania, Australia
Posted: 19th Feb 2017 05:56
Agreed! Calling all Pauls!
I work full-time making games in AGK2 and DBpro. Living the dream!

Login to post a reply

Server time is: 2024-04-26 05:37:17
Your offset time is: 2024-04-26 05:37:17