Ошибка входа в сервисы Google Play Games: ApiException: 4 - PullRequest
0 голосов
/ 26 апреля 2019

Я работаю над приложением в студии Android, которое использует сервисы Google Play Games для достижений и списков лидеров, но я получаю сообщение об ошибке при попытке войти в систему. Я следовал документации, все мои ключи и коды OAuth соответствует, и все же я получаю эту ошибку при попытке войти в систему:

com.google.android.gms.common.api.ApiException: 4: 4:

Я везде искал ответ, перезапускал все учетные данные, не публиковал, а затем публиковал все новые необходимые материалы, проверял все идентификаторы. Если кто-нибудь может дать мне несколько советов о том, что еще можно попробовать, будьте очень благодарны.

 com.google.android.gms.common.api.ApiException: 4: 4: 
    at com.google.android.gms.common.internal.ApiExceptionUtil.fromStatus(Unknown Source)
    at com.google.android.gms.common.internal.zai.zaf(Unknown Source)
    at com.google.android.gms.common.internal.zaj.onComplete(Unknown Source)
    at com.google.android.gms.common.api.internal.BasePendingResult.zaa(Unknown Source)
    at com.google.android.gms.common.api.internal.BasePendingResult.setResult(Unknown Source)
    at com.google.android.gms.auth.api.signin.internal.zzj.zzc(Unknown Source)
    at com.google.android.gms.auth.api.signin.internal.zzt.dispatchTransaction(Unknown Source)
    at com.google.android.gms.internal.auth-api.zzd.onTransact(Unknown Source)
    at android.os.Binder.execTransact(Binder.java:461)

Этот код используется для входа в Google Документы.

    private void startSignInIntent() {
  GoogleSignInClient signInClient = GoogleSignIn.getClient(this,
      GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN);
  Intent intent = signInClient.getSignInIntent();
  startActivityForResult(intent, RC_SIGN_IN);}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
  if (requestCode == RC_SIGN_IN) {
    GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
    if (result.isSuccess()) {
      // The signed in account is stored in the result.
      GoogleSignInAccount signedInAccount = result.getSignInAccount();
    } else {
      String message = result.getStatus().getStatusMessage();
      if (message == null || message.isEmpty()) {
        message = getString(R.string.signin_other_error);
      }
      new AlertDialog.Builder(this).setMessage(message)
          .setNeutralButton(android.R.string.ok, null).show();
    }
  }
}

1 Ответ

0 голосов
/ 27 апреля 2019

Когда у меня возникла эта проблема, я должен был сделать две вещи:

  1. Подпишите мое приложение (обычно с помощью клавиши разблокировки) и разверните приложение на моем телефоне с помощью adb

  2. Перейдите на console.developers.google.com, перейдите в раздел учетных данных, перейдите к идентификаторам клиентов OAuth 2.0, найдите мое приложение, щелкните его и введите ключ SHA1.с ваш ключ разблокировки.

Кроме того, для всех, кто сталкивается с этим, стоит отметить, что вы должны использовать то, что делает OP, прежде чем вы сможете сделать silentSignIn.OP, вам не нужно беспокоиться об этом.

РЕДАКТИРОВАТЬ: не обращайте внимания, похоже, что именно silentSignIn вызывал проблемы с OP.

...