Интеграция API моментальных снимков Google в приложение Android вызывает в com.google.android.gms.common.api.ResolvableApiException: 4: 4: - PullRequest
0 голосов
/ 06 сентября 2018

Я сейчас занимаюсь разработкой приложения для Android. Он уже использует игры Google Play (таблицы лидеров, достижения и многопользовательская игра TurnBased уже интегрированы и работают нормально). Теперь я хочу сохранить некоторые GameData, где я хочу использовать Snapshot API.

Я всегда подписываю релизную версию и загружаю ее в google play для группы тестеров, и все работало нормально, пока я не попытался добавить Snapshot API.

Что я сделал:

  • Я включил Сохраненные игры в консоли Google Play в Play Services
  • Я активировал Google Drive API в платформе Google Cloud
  • Я добавил .requestScopes (Drive.SCOPE_APPFOLDER) в мой GoogleSignInMethode (вот почему возникает ошибка)
private void signInToGoogle() {
mGoogleClient = GoogleSignIn.getClient(this,
        new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN)
                .requestScopes(Drive.SCOPE_APPFOLDER)
                .build());
signInSilently();
}

private void signInSilently() {
System.out.println("A7DE signInSilently()");

mGoogleClient.silentSignIn().addOnCompleteListener(this,
        new OnCompleteListener<GoogleSignInAccount>() {
            @Override
            public void onComplete(@NonNull Task<GoogleSignInAccount> task) {
                if (task.isSuccessful()) {
                    System.out.println("A7DE signInSilently(): success");
                    onConnected(task.getResult());
                } else {
                    System.out.println("A7DE signInSilently(): failure "+task.getException());
                    Log.e(TAG, "Exception: "+Log.getStackTraceString(task.getException()));
                    onDisconnected();
                }
            }
        });
}

С этим кодом Logcat говорит:

09-06 13:59:15.632 14860-14860/? I/System.out: A7DE signInSilently(): failure com.google.android.gms.common.api.ResolvableApiException: 4: 4: 
09-06 13:59:15.633 14860-14860/? E/StatsACT: Exception: com.google.android.gms.common.api.ResolvableApiException: 4: 4: 
     at com.google.android.gms.common.internal.ApiExceptionUtil.fromStatus(Unknown Source)
     at com.google.android.gms.common.internal.zzk.convert(Unknown Source)
     at com.google.android.gms.common.internal.zzl.onComplete(Unknown Source)
     at com.google.android.gms.common.api.internal.BasePendingResult.zza(Unknown Source)
     at com.google.android.gms.common.api.internal.BasePendingResult.setResult(Unknown Source)
     at com.google.android.gms.auth.api.signin.internal.zzk.zzd(Unknown Source)
     at com.google.android.gms.auth.api.signin.internal.zzu.dispatchTransaction(Unknown Source)
     at com.google.android.gms.internal.auth.zze.onTransact(Unknown Source)
     at android.os.Binder.execTransact(Binder.java:573)
09-06 13:59:15.633 14860-14860/? I/System.out: A7DE disconnected...

Чтобы сделать его еще более неслышным, он выдает только ошибку на S6 Android 7. Также протестировал его с A5 Android 8, и там он отлично работает ...

Для меня это очень редкая проблема, но я надеюсь, что вы поможете мне найти решение.

Заранее спасибо

1 Ответ

0 голосов
/ 07 сентября 2018

Я нашел решение для себя. Проблема заключалась в том, что разрешения на S6 не были предоставлены для использования Google Drive. Теперь я сначала проверяю, дал ли пользователь разрешение, а затем открыл GoogleSignInClient с помощью Drive.SCOPE_APPFOLDER.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...