Google не может войти в игру - PullRequest
0 голосов
/ 07 апреля 2020

Пожалуйста, мне нужна помощь, потому что, конечно, это глупо, но я немного застрял. У меня уже есть функциональная игра android в игровом магазине, но я хочу включить таблицу лидеров, и для этого мне нужно, чтобы пользователи вводили свое имя пользователя Google для игр Google. Я много раз читал инструкции и, конечно, что-то упустил. Чтобы дать вам небольшой контекст, игра уже опубликована в playstore, игра также связана с playgames, leaderboaard создается в играх Google, игра связана с firebase, и у меня есть apis создан. (Я бы сказал, все хорошо сделано). Я также включил. json. И я тестирую его в эмуляторе Android Studio в режиме отладки. Если я использую этот код, я получаю следующую ошибку:

 GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestIdToken("My id client")
            .requestScopes(Games.SCOPE_GAMES_LITE)
            .build();
    mGoogleSignInClient = GoogleSignIn.getClient(MainActivity.this, gso);

2020-04-07 12: 40: 52.641 11274-12521 /? E / SignInAuthenticator: ****

**** APP NOT CORRECTLY CONFIGURED TO USE GOOGLE PLAY GAME SERVICES
**** This is usually caused by one of these reasons:
**** (1) Your package name and certificate fingerprint do not match
****     the client ID you registered in Developer Console.
**** (2) Your App ID was incorrectly entered.
**** (3) Your game settings have not been published and you are 
****     trying to log in with an account that is not listed as
****     a test account.
****
**** To help you debug, here is the information about this app
**** Package name         : info_hiden
**** Cert SHA1 fingerprint: info_hiden
**** App ID from manifest : info_hiden
****
**** Check that the above information matches your setup in 
**** Developer Console. Also, check that you're logging in with the
**** right account (it should be listed in the Testers section if
**** your project is not yet published).
****
**** For more information, refer to the troubleshooting guide:
****   http://developers.google.com/games/services/android/troubleshooting

Когда я говорю «Мой идентификатор клиента, я получаю его отсюда:

Идентификатор клиента

Это правильно? Должен ли я проверить больше вещей? Кстати, у меня есть идентификаторы игры в манифесте, и у меня все реализовано в Graddle.

Должен ли я сделать что-то дополнительное в базе данных о пожарной безопасности? Честно, Мне даже непонятно, для чего нужна firebase.

Ах, если я добавлю предыдущий код, но без строки IdToken, я смогу без проблем ввести моего пользователя google в приложение, но только после этого он не позволит мне показать что-нибудь в списке лидеров, потому что это говорит мне, что нет никакого связанного клиента, и ключ отсутствует, который является нормальным, я предполагаю. Из того, что я понимаю, у меня должна быть проблема в ключе. Это так?

Большое спасибо за вашу помощь!

** РЕДАКТИРОВАТЬ:

Я сейчас пытаюсь с этим ID:

Идентификатор клиента новый

И мне кажется, это хорошо, но у меня есть этот журнал:

2020-04-07 18:22:24.550 1658-2174/? W/AppOps: Bad call: specified package com.google.android.play.games under uid 10013 but it is really 10156
    java.lang.RuntimeException: here
        at com.android.server.AppOpsService.getOpsRawLocked(AppOpsService.java:1257)
        at com.android.server.AppOpsService.checkPackage(AppOpsService.java:976)
        at com.android.internal.app.IAppOpsService$Stub.onTransact(IAppOpsService.java:169)
        at android.os.Binder.execTransact(Binder.java:565)
2020-04-07 18:22:24.564 26592-26592/? W/ChimeraUtils: Non Chimera context
2020-04-07 18:22:24.586 26592-26651/? W/GLSUser: [DeviceKeyStore] Cannot load key: Device key file not found.
2020-04-07 18:22:24.596 11274-11371/? W/GamesServiceBroker: Client connected with SDK 201000000, Services 200914022, and Games 168400078

И:

2020-04-07 18:22:24.781 26592-26651/? W/GLSUser: [AppCertManager] IOException while requesting key: 
    java.io.IOException: Invalid device key response.
        at ipd.a(:com.google.android.gms@200914022@20.09.14 (040700-300565878):46)
        at ipb.a(:com.google.android.gms@200914022@20.09.14 (040700-300565878):5)
        at ipb.a(:com.google.android.gms@200914022@20.09.14 (040700-300565878):42)
        at clb.onTransact(:com.google.android.gms@200914022@20.09.14 (040700-300565878):6)
        at android.os.Binder.transact(Binder.java:499)
        at dtz.onTransact(:com.google.android.gms@200914022@20.09.14 (040700-300565878):2)
        at android.os.Binder.transact(Binder.java:499)
        at aaml.onTransact(:com.google.android.gms@200914022@20.09.14 (040700-300565878):26)
        at android.os.Binder.execTransact(Binder.java:565)
2020-04-07 18:22:24.781 26592-26651/? W/GLSUser: [DeviceKeyStore] Cannot load key: Device key file not found.

И:

2020-04-07 18:22:25.153 11274-11365/? E/Volley: [18347] BasicNetwork.performRequest: Unexpected response code 401 for https://www.googleapis.com/games/v1/applications/played
2020-04-07 18:22:25.165 11274-23833/? W/GameAgent: Volley error when reporting played
    com.android.volley.AuthFailureError
        at com.android.volley.toolbox.BasicNetwork.performRequest(:com.google.android.gms@200914022@20.09.14 (040700-300565878):37)
        at stl.performRequest(:com.google.android.gms@200914022@20.09.14 (040700-300565878):14)
        at com.android.volley.NetworkDispatcher.a(:com.google.android.gms@200914022@20.09.14 (040700-300565878):6)
        at com.android.volley.NetworkDispatcher.run(:com.google.android.gms@200914022@20.09.14 (040700-300565878):2)

Есть идеи, пожалуйста?

Спасибо!

...