Google play game service код ошибки 400
есть приложение, которое использует сервис play games, но по какой-то причине оно перестает работать. кажется, несколько раз я могу войти успешно, но обычно - нет. если я проверил трафик API, то около 10% получили код ответа = 200, а другие - 404.
методы get 404:
- игры.приложения.играл
- игры.события.запись
когда я пытался проверить ошибку в журнале, я вижу:
11705-13707/com.google.android.gms W/GamesServiceBroker: Client connected with SDK 12171000, Services 11975436, and Games 54390036
11705-9262/com.google.android.gms E/BoundService: No such BoundService for action: com.google.android.gms.auth.APP_CERT
11705-9262/com.google.android.gms E/BoundService: No such BoundService for action: com.google.android.gms.auth.APP_CERT
691-778/system_process E/PROXIMITY: ProximitySensor: unknown event (type=3, code=0)
8876-8890/com.agminstruments.drumpadmachine V/FA: Inactivity, disconnecting from the service
691-778/system_process E/PROXIMITY: ProximitySensor: unknown event (type=3, code=0)
2254-2269/? I/PerfService: PerfServiceNative_getPackName
11705-16860/com.google.android.gms E/Volley: [3966] BasicNetwork.performRequest: Unexpected response code 400 for https://www.googleapis.com/games/v1/players/me?language=ru-RU
11705-9262/com.google.android.gms E/PlayerAgent: Unable to load player g08394879143000804289
11705-9262/com.google.android.gms W/PlayerAgent: {"errors":[{"domain":"global","reason":"invalid","message":"Invalid applicationId with value . Reason: No application ids specified."}],"code":400}
3978-3978/com.google.android.play.games.ui I/SignInActivity: Transition from 8 to 11
3978-3978/com.google.android.play.games.ui W/SignInActivity: onSignInFailed()...
3978-3978/com.google.android.play.games.ui W/SignInActivity: Sign in failed during 8
3978-3978/com.google.android.play.games.ui W/SignInActivity: ==> Returning non-OK result: 10002
Я не понимаю, почему нет идентификатора в сообщении " недопустимый applicationId со значением .- потому что я добавил в заявку id. также я попытался изменить идентификатор, и в этом случае я получил ошибку, что ID XXXXXXXXXXXX не связан с app my.пакет.имя.
также я проверил Application ID
, SHA
отпечатки пальцев , реимпорт google-services.json
также попытался добавить вручную OAuth2 Client ID
из связанных приложений. Проверьте инструкцию play services, и все выглядит нормально.
что еще я могу проверить?
обновление:
пытался обновить play-servies до 11.8.0 и использовать GoogleSignInClient
mGoogleSignInClient = GoogleSignIn.getClient(application, GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN);
activity.startActivityForResult(mGoogleSignInClient.getSignInIntent(), 312);
но также получил ошибку:
com.google.android.gms.common.api.ApiException: 4:
4 ответов
попробуйте это, Во-первых, начните с отладки Play services,
включить отладочные службы воспроизведения в коде > сделать apk > установить на устройство > открыть "монитор" из папки "инструменты" в Android sdk > подключить устройство к ПК > выполнить
после отладки, если вы получили это сообщение
" У вас неправильные конфигурации, связанные с OAUth2, пожалуйста, проверьте. Подробный ошибка; UNREGISTERED_ON_API_CONSOLE" "OnSignInFailed ()..."
- на
просто скопируйте / вставьте "сертификат подписи приложения" "отпечаток сертификата SHA-1" - вместо "загрузить сертификат" "отпечаток сертификата SHA-1", который является одним из вашего хранилища ключей, внутри клиента API ID OAuth 2.0 .
Это сделает вашу работу!!
на данный момент google play games больше не подключается к локальным. Но это связь. успешно, когда он был импортирован в Google play store (Google App signing делает именно то, что он должен делать: он изменяет ваш SHA1 с "сертификата загрузки" на "подпись приложения").
Примечание: выше изображение взято из одного из открытых выпусков GitHub. Надеюсь, это поможет!!
У меня также был " com.гуглить.андроид.СБМ.общий.прикладной программный интерфейс.ApiException: 4" на устройстве. Обновление приложения Google Play Games решило эту проблему для меня.
затем мне просто нужно было вручную нажать кнопку входа в Google в моем приложении. Надеюсь, это поможет!
использование gms_library_version '11.8.0' и код, который я использую:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//...
mGoogleSignInClient = GoogleSignIn.getClient(this, new GoogleSignInOptions
.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN).build());
//...
}
// when the button gets clicked
public void startSignInIntent() {
startActivityForResult(mGoogleSignInClient.getSignInIntent(), RC_SIGN_IN);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == RC_SIGN_IN) {
Task<GoogleSignInAccount> task =
GoogleSignIn.getSignedInAccountFromIntent(intent);
try {
GoogleSignInAccount account = task.getResult(ApiException.class);
onConnected(account);
} catch (ApiException apiException) {
String message = apiException.getMessage();
if (message == null || message.isEmpty()) {
message = getString(R.string.signin_other_error);
}
onDisconnected();
new AlertDialog.Builder(this)
.setMessage(message)
.setNeutralButton(android.R.string.ok, null)
.show();
}
}
//...
}
Очистка кэша и данных также является одним из основных решений этой ошибки.
1.Перейдите в Настройка > > перейти к настройке приложения (в некоторых устройствах настройка приложения называется приложениями). 2.Перейти к, все приложения > > Найти Google Play Store > > Очистить данные и Кэш 3.После того, как вы очистите все, Далее вам нужно заставить остановить приложение. Кроме того, найдите Google Services Framework > > открыть Google Services Framework > > очистить кэш и данные Теперь перезагрузите устройство и попробуйте скачать приложение.
как рассказали здесь. код ошибки 4 означает
public static final int SIGN_IN_REQUIRED
клиент попытался подключиться к службе, но пользователь не подписано в. Клиент может продолжить работу без использования API. В качестве альтернативы, если hasresolution() возвращает true, клиент может вызвать startResolutionForResult (Activity, int), чтобы предложить пользователю войти в систему. После входа в действие возвращается RESULT_OK с дальнейшими попытками должен преуспевать.
Постоянное Значение: 4
поэтому убедитесь, что SHA-1 signing-certificate
отпечаток пальца вашего приложения в консоли разработчиков google принадлежит к тому же ключу, который используется для подписи APK вы тестируете.
при сборке debug build Android Studio используйте собственный ключ отладки. Вы можете изменить его с
щелчок правой кнопкой мыши по папке приложения в Project dir - > выбор "Open Module Settings"
->"Signing"
tab - > настройте тот же ключ,который вы упомянули в консоли Google dev. После этого перейдите на вкладку "типы сборки" и выберите конфигурацию подписи.
или
оформить заказ этот ответ.