Java - Google Play 游戏服务

8

Google Play游戏服务正在测试中:

public class MainActivity extends BaseGameActivity {
    public void onCreate( Bundle savedInstanceState )
    {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          beginUserInitiatedSignIn();
    } 
}

当调用onSignInFailed()时,会出现以下弹窗信息:

应用配置不正确。请检查包名和签名证书是否与在开发者控制台创建的客户端ID相匹配。此外,如果该应用尚未发布,请检查您尝试登录的帐户是否列为测试帐户。有关更多信息,请参阅日志。


2
你最终解决了这个问题吗? - you786
很可能是因为您混淆了debug-keystore和release-keystore。 - Daniel Chow
1个回答

14

我是这样解决问题的 :)

  1. 进入 Google开发者控制台 https://cloud.google.com/console
  2. 选择您的游戏项目,进入 "API 和身份验证" > "凭据"
  3. 删除您拥有的所有"Android应用程序客户端ID"

此时,我们在Google开发者控制台中没有要做的事情了。

  1. 进入 Android开发者控制台 https://play.google.com/apps/publish
  2. 在Play服务中选择您的游戏
  3. 进入“关联应用”
  4. 创建一个新的关联的android应用程序,并将其放入您的生产证书SHA1
  5. 创建一个新的关联的android应用程序,并将其放入您的调试证书SHA1
  6. 等待一段时间直到更改被部署

现在,在尝试连接之前,我们需要清除Android应用程序缓存

  1. 清除您的应用程序缓存
  2. 启动您的应用程序

然后...它可以工作了!(至少对我来说是这样...)我的问题是我从Google开发者控制台而不是Android开发者控制台创建了关联的应用程序...


4
谢谢!这正是我所需的(我遇到了同样的问题)。调试证书对于测试非常重要,而在我的情况下,尽管控制台没有任何提示,更新后的链接确实需要约10分钟左右才能生效(每当您进行类似更新时都应该假定会存在此类延迟)。 - kungphu
我尝试了你的答案,但没有成功。我是否需要创建两个不同的密钥库,一个用于生产环境,另一个用于调试,并使用两个不同密钥库中的两个证书SHA1链接两个应用程序? - GmloMalo
运行得非常完美,我所要做的就是添加调试证书sha1,可以从这里获取:http://pongodev.com/get-sha1-for-debug/#comment-343。 - arbel03

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接