Sign In Register

How can we help you today?

Start a new topic

Any options for merging accounts?

Hi,


We use account merging in our game. To be clear that is not merging, we just transfer user progress from one account to other and authenticate a user with the account the progress was transferred to.


The problem is that when we reauthenticate user with target account, leaderboard scores of released (junk) account stays with the old account and the scores of junked account are still displayed in the leaderboard.


Is there any way to merge account the reliable way?


Thanks,

Irakli


Hey Iraki,

Just to get straight in my head what you are doing... You are transferring the user details from account 1 to account 2. Do you keep the original account's ID?

If you have a running leaderboard you cannot delete entries automatically. so those scores posted from the old account will persist. If account 2 has the same ID as the previous one, then they will show up for account 2 also.

Exactly what kind of info are you trying to merge?

Thanks,
Sean

 

Hi Sean,


Our game is endless, so we doesn't have real progress. Just balance and purchases. 


I'll try to write it as clear as I can without code:

  1. User is registered using generated user name and password at first start up of our game (account A). For user the process looks the same as device auth. 
  2. If user connects with social account which is already linked to GS account (B), the balance and purchases of user is transferred from A to B. We add the balance of A to B and then zero balance of A. Same with purchases.
  3. User is reauthenticated with the B account.

There's a lot more details, but this is our main concept.

This flow works, but I'm not sure it is a best way. Can you share with us the best practices of merging accounts without leaving junk high-scores?

Link to the app: https://apps.facebook.com/ooppogame/
On Facebook everything is simple - only Facebook auth. On Android we register users with display name or Facebook auth or GooglePlus auth or different combination of this 3.

P.S. I think to change first registration from RegistrationRequest to DeviceAuthenticationRequest might be better. But I read earlier that there might be problems with getting deveiceId, so I temporarily stopped on RegistrationRequest.


Thanks,
Irakli

Hi Irakli,


You can hide the junk high scores by going into the Manage Tab in the portal, finding the old player in the player search, clicking on edit, then toggling "Hide On Leaderboards" to On.



You can also hide a player from Leaderboards in Cloud Code, you can read more about that here. If you have any other questions just let me know.


Thanks,

Liam


Hi Liam,


Hiding user's scores is good feature, but is not solution for cases when it's needed to merge accounts. User might have good scores with the account A (junk).


  1. - We need to get 1 account from 2 accounts (some kind of automatic merge), 
    - OR transfer all the user's data manually using cloud code to account B.
       * Any merge method should transfer to acc B - high-scores, balance and external authentications.
       * Also, we currently merge accounts using CC, but can't transfer external auth and high-scores.
  2. log-in user with B account 
  3. and delete or mark as junk account A.

Thanks,
Irakli

Hi,


This is very important issue with our game and we also are already short in time with it. I can't find any special CC method for transfer/merge, but I am sure it should be possible somehow. 


There's workaround to transfer user's high-scores, but I can't transfer external authentication. Should I transfer it using some manipulations with NoSQL databases form CC?


Thanks,

Irakli

-> This topic was transferred to the ticking system

 


1 person likes this
Any progress with this question? Account merge is common problem in many games as long as game allow using many different authorization methods (for example playing with anonymous account and FB login).

 

Login to post a comment