我使用BaseGameActivity
类连接到google play游戏服务。问题是,不知何故身份验证不起作用。我在网上搜索了几个小时,但没有找到任何能帮助我解决这个问题的方法。
当我启动BaseGameActivity时,我在LogCat中得到以下输出:
03-19 14:22:36.126: W/GameHelper(15312): ****
03-19 14:22:36.126: W/GameHelper(15312): ****
03-19 14:22:36.126: W/GameHelper(15312): **** APP NOT CORRECTLY CONFIGURED TO USE GOOGLE PLAY GAME SERVICES
03-19 14:22:36.126: W/GameHelper(15312): **** This is usually caused by one of these reasons:
03-19 14:22:36.126: W/GameHelper(15312): **** (1) Your package name and certificate fingerprint do not match
03-19 14:22:36.126: W/GameHelper(15312): **** the client ID you registered in Developer Console.
03-19 14:22:36.126: W/GameHelper(15312): **** (2) Your App ID was incorrectly entered.
03-19 14:22:36.126: W/GameHelper(15312): **** (3) Your game settings have not been published and you are
03-19 14:22:36.126: W/GameHelper(15312): **** trying to log in with an account that is not listed as
03-19 14:22:36.126: W/GameHelper(15312): **** a test account.
03-19 14:22:36.126: W/GameHelper(15312): ****
03-19 14:22:36.126: W/GameHelper(15312): **** To help you debug, here is the information about this app
03-19 14:22:36.126: W/GameHelper(15312): **** Package name : *****
03-19 14:22:36.126: W/GameHelper(15312): **** Cert SHA1 fingerprint: *****
03-19 14:22:36.126: W/GameHelper(15312): **** App ID from : *****
03-19 14:22:36.126: W/GameHelper(15312): ****
03-19 14:22:36.126: W/GameHelper(15312): **** Check that the above information matches your setup in
03-19 14:22:36.126: W/GameHelper(15312): **** Developer Console. Also, check that you're logging in with the
03-19 14:22:36.126: W/GameHelper(15312): **** right account (it should be listed in the Testers section if
03-19 14:22:36.126: W/GameHelper(15312): **** your project is not yet published).
03-19 14:22:36.126: W/GameHelper(15312): ****
03-19 14:22:36.126: W/GameHelper(15312): **** For more information, refer to the troubleshooting guide:
03-19 14:22:36.126: W/GameHelper(15312): **** http://developers.google.com/games/services/android/troubleshooting
我检查了十多次,包名,证书SHA1指纹和应用程序ID(我在这里打了号)确实与https://console.developers.google.com/project/my-app-id/apiui/credential中给出的相同
我还删除了那里多次给出的客户端id并重新创建了它们。但没有任何帮助。你能帮我吗?
在我的案例中,SHA1指纹是不正确的。
- 进入Google Play开发者控制台,找到你的游戏
- 进入左侧的"Game Details"选项卡
- 向下滚动到"API控制台项目"并点击您的"项目名称" 现在在Google Developer Console (Different Console),转到API Manager
- 单击凭据选项卡
- 在OAuth 2.0客户端id下,单击您的项目名称
- 现在,最后,你可以改变你的SHA1指纹和/或包名是需要的。
您在设备上登录的用户需要是一个有效的测试帐户。检查设备上登录的用户是否配置为有效的测试用户。如果没有,那么将你登录设备时使用的电子邮件添加到Google Play Game Developer Console上的测试人员帐户
当你从eclipse安装并运行游戏/应用到你的设备上时,它不会登录并连接到谷歌游戏服务。请遵照以下指示,
i.你必须先导出游戏/应用(在导出之前先构建项目)2并将app.apk文件上传到设备3安装并运行游戏/应用程序,你会看到google sign in窗口
你试过了吗?在调试时生成的证书SHA1指纹与我使用的密钥库不匹配。在我的情况下,我在调试中测试应用程序,该证书与授权证书不同。
请确保使用正确的SHA1。在我的情况下,我的电脑上有两个不同的debug.keystore
文件。
一个位于C:UsermyUser.android
,另一个位于我的android-sdk.android
目录
我使用Eclipse,在我的例子中,debug.keystore
是从android-sdk
目录中使用的。
如果您使用的是Eclipse,您可以检查debug.keystore
在Window/Preferences/Android/Build/
的位置。
以上方法对我都不起作用。
如果你的GoogleSignInOptions是无效的,你会得到这个错误,这是我的问题。
例如:GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN).
requestServerAuthCode("AN INVALID CLIENT ID").
build();
也会给出相同的错误