Google Play服务 - 在单个设备上处理多个帐户

时间:2016-04-11 17:27:37

标签: android google-play google-play-services google-play-developer-api

以下是访问Google Play服务的游戏执行顺序。

第1步:显示包含两个可用用户的Google登录屏幕。 (USER1和USER2)

第2步:选择并成功登录用户。

第3步:用户玩游戏。 “结果”以“首选项”存储在本地。

结果包括a)score和b)highestAchievementToBeUnlocked

成功登录后或游戏结束时,会从文件中读取成就详细信息并将其提供给Google控制台。

我对上述步骤感到满意,但对以下情况感到困惑。

a)用户签名为“USER1”,玩游戏,成绩详情送到谷歌服务。

b)用户已签名并以“USER2”身份登录并开始游戏,详细信息将提供给Google服务。

c)重复步骤a)

请指导我决定处理上述情况的最佳方法。 我怎么能以这样的方式编程,即使“USER2”用他的账号进行中间游戏,我也可以允许“USER1”继续使用他之前的成就进行游戏?

提前致谢!!

1 个答案:

答案 0 :(得分:1)

您应该通过signing-in Google帐户覆盖您要执行的操作。在大多数情况下,这也是登录Play商店的帐户。

基本上,如果您的设备中已登录Google帐户,则会在该帐户中保存成就。

如上所述here

  

一旦玩家登录并连接了GoogleApiClient,   您的游戏可以开始使用成就API。

然后,您可以在游戏中实施Signing Out,为不同的帐户腾出空间。

  

致电signOut()以退出Google Play游戏服务。   如果您的游戏正在使用其他Google Play服务,请务必同时使用   用户签署这些服务(例如,呼叫   clearDefaultAccount()退出Google+服务)。还有,你的   游戏应该设置一个标志,表明用户明确签名   out,然后在下次游戏活动onStart()时检查该标记   方法被调用。根据旗帜值,您的游戏就可以了   确定是否致电connect()以对用户进行签名。