Google Play Game Service не может войти в систему

Я уже несколько дней бьюсь головой об стену. Несмотря на то, что я прочитал много постов, описывающих многочисленные проблемы / решения проблемы входа в систему, я не смог найти решение своей проблемы.

Короче говоря, я разрабатываю игру в Android Studio с использованием фреймворка LibGDX и добавил BaseGameUtils в качестве библиотеки и добавил все необходимые зависимости и т. Д.

Постановка задачи: Когда игра начинается, она пытается подключиться к GPGS, но всегда отвечает сообщением «Не удалось войти». LogCat содержит следующее сообщение:

01-03 19:37:41.744 6693-7436/? E/TokenRequestor: You have wrong OAuth2 related configurations, please check. Detailed error: UNREGISTERED_ON_API_CONSOLE
01-03 19:37:41.764 20609-20609/? I/SignInActivity: Transition from 6 to 11
01-03 19:37:41.764 20609-20609/? W/SignInActivity: onSignInFailed()...
01-03 19:37:41.764 20609-20609/? W/SignInActivity: Sign in failed during 6
01-03 19:37:41.764 20609-20609/? W/SignInActivity: ==> Returning non-OK result: 10002

В соответствии сhttps://developers.google.com/android/reference/com/google/android/gms/games/GamesActivityResultCodes ...

public static final int RESULT_SIGN_IN_FAILED

Result code sent back to the calling Activity when signing in fails.

The attempt to sign in to the Games service failed.
For example, this might happen if the network is flaky,
or the user's account has been disabled, or consent could not be obtained.

Constant Value: 10002

Моя сеть не «ненадежная», и я не верю, что мой аккаунт отключен - другие коммерческие игры, которые я установил, прекрасно работают с GPGS.

Я подписал свой APK - и отладку, и на выпуск (хотя на этом этапе я работаю только с отладкой). Я добавил игру в консоль разработчика Google, связал ее в диспетчере API и создал идентификатор клиента OAuth2. Фактически, я делал это много раз, удаляя связанную игру и воссоздавая ее, думая, что либо мой идентификатор клиента, либо отпечаток пальца SHA1 были неверными. Сообщение logcat говорит о том, что конфигурация OAuth2 неверна, но я проверял это много раз, и все это выглядит хорошо для меня. Как лучше всего проверить подпись?

Я тестирую на физическом Samsung S7, который я устанавливаю прямо со своего ноутбука. Мой Android Gradle имеет необходимые объявленные SigningConfigs, поэтому я считаю, что моя развернутая игра должна быть правильно подписана.

android {
signingConfigs {
    config {
        keyAlias 'mygame-key'
        keyPassword 'mypassword'
        storeFile file('path/to/my/keystore.jks')
        storePassword 'keystorepassword'
    }
}
buildTypes {
    release {
        signingConfig signingConfigs.config
    }
    debug {
        signingConfig signingConfigs.config
        debuggable true
    }
}

В моем манифесте у меня есть необходимые строки. Например. -

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<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"/>

Первоначально в AndroidLauncher я использовал класс GameHelper, но недавно обнаружил, что это устарело, поэтому я изменил свой код для использования GoogleApiClient. Строитель определяется следующим образом:

mGoogleApiClient = new GoogleApiClient.Builder(this)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .addApi(Games.API).addScope(Games.SCOPE_GAMES)
            .build();

Код для других методов был взят непосредственно из примера приложения TrivialQuest, например, -

@Override
protected void onStart() {
    Log.d(TAG, "onStart()");
    super.onStart();
    mGoogleApiClient.connect();
}

Однако, несмотря на использование клиентского кода Google API, это не имеет значения.

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

Спасибо заранее.