Подключение к игровым сервисам Google Play не работает - PullRequest
0 голосов
/ 13 октября 2019

Я пытаюсь подключиться к Google Play Games, но есть ошибка. Каждый раз появляется ошибка unsuccessful sign in.

В моем build.gradle (Module: app) у меня есть этот код:

dependencies {
    implementation 'com.google.firebase:firebase-core:17.2.0'
    implementation 'com.google.android.gms:play-services-games:18.0.1'
    implementation 'com.google.android.gms:play-services-auth:17.0.0'
}
apply plugin: 'com.google.gms.google-services'

В конце моего манифеста у меня есть:

<meta-data
    android:name="com.google.android.gms.games.APP_ID"
    android:value="@string/app_id" />
<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
</application>
<uses-permission android:name="android.permission.INTERNET"/>

Когда я вхожу, используяMainActivity.java, я вызываю этот метод в onResume:

private void signInSilently() {
    context = getApplicationContext();
    signInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN)
    .requestIdToken(getString(R.string.oauth_client_id))
    .build();
    GoogleSignInAccount signedInAccount = GoogleSignIn.getLastSignedInAccount(context);
    if (GoogleSignIn.hasPermissions(signedInAccount, signInOptions.getScopeArray())) {
        account = signedInAccount;
    } else {
        client = GoogleSignIn.getClient(this, signInOptions);
        client
            .silentSignIn()
            .addOnCompleteListener(
                    this,
                    new OnCompleteListener<GoogleSignInAccount>() {
                        @Override
                        public void onComplete(@NonNull Task<GoogleSignInAccount> task) {
                            if (task.isSuccessful()) {
                                account = task.getResult();
                            } else {
                                Log.d("George", "onComplete: unsuccessful sign in");
                                //signInLoudly();
                            }
                        }
                        });
    }
}
void signInLoudly(){
    GoogleSignInClient signInClient = GoogleSignIn.getClient(this, signInOptions);
    Intent intent = signInClient.getSignInIntent();
    startActivityForResult(intent, RC_SIGN_IN);
}

Если я раскомментирую метод signInLoudly();, он просто вращается в бесконечном цикле.

Пожалуйста, посоветуйте. Буду признателен за любую помощь, и если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

Спасибо

1 Ответ

1 голос
/ 25 октября 2019

Проблема заключалась в том, что игра уже была подключена к API Google, поэтому я создал новую игру в Google Play Games, которая работала. Я надеюсь, что это поможет кому-то с подобной проблемой.

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