Как войти в Google Play Игры из приложения Android (ошибка 8) - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь добавить сохраненные игры в облачный сервис Google Play Games в существующее приложение для Android, но получаю ошибку 8.

Я использовал Поддержка сохраненных игр в руководстве для Android и Соберите все звезды 2 примера приложения .

Это то, что я пробовал до сих пор:

Настройка консоли и безопасности

Создана игра в игровых сервисах.Сохраненные игры включены, все остальные функции выключены.

Используются «Связанные приложения» и связаны с использованием отладочного отпечатка SHA1.

Проверено выше в консоли API Google, все проверяет и сопоставляет шестнадцатеричную строку SHA1 в консоли и использует keytool.

keytool -list -keystore "C:\Users\dejan\.android\debug.keystore" -storepass android

Добавил себя в качестве тестера и включил тестирование для всех сред.

Менеджер SDK

В Android Studio использовались инструменты SDK для добавления «Сервисов Google Play»

Манифест Android

В манифест Android добавлено следующее:

   <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"/>

В основной деятельности Android

Добавлено

private static final int RC_SIGN_IN = 9001;
private GoogleSignInClient mGoogleSignInClient;
// The currently signed in account, used to check the account has changed outside of this activity when resuming.
private GoogleSignInAccount mSignedInAccount = null;

В метод OnCreated добавлено:

   //initialize google play games
        GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN)
                // Since we are using SavedGames, we need to add the SCOPE_APPFOLDER to access Google Drive.
                .requestScopes(Drive.SCOPE_APPFOLDER)
                .build();
        mGoogleSignInClient = GoogleSignIn.getClient(this, gso);

Для добавления кнопки добавлено:

startActivityForResult(mGoogleSignInClient.getSignInIntent(), RC_SIGN_IN);

Наконец, добавлен onActivityResult

  @Override
protected 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 = String.format("%s (%s)", getString(R.string.signin_other_error), apiException.getStatusCode());
            mGoogleSignInError = true;
            Snackbar snackbar = Snackbar.make(findViewById(R.id.mainContainerMenu), message, Snackbar.LENGTH_LONG);
            snackbar.show();

            onDisconnected();


        }
    }

    super.onActivityResult(requestCode, resultCode, intent);

}

Тестирование

Я попытался запустить приложение из Android Studio на своем физическом устройстве, где я вошел в систему как авторизованный пользователь тестирования.

Также попытался создать подписанный apk через Android Studio и развернуть его на устройстве с помощью команды adb.При сборке apk, использовали хранилище ключей отладки и ключ.

В обоих случаях я получаю ошибку # 8.Заставка Google Play не отображается, экран просто гаснет на секунду, а затем я получаю сообщение об ошибке.

Logcat

2019-02-26 18: 01: 00.946 4892-7664 /?E / Volley: [131] BasicNetwork.performRequest: Неожиданный код ответа 404 для https://www.googleapis.com/drive/v2beta/apps/self?prettyPrint=false&fields=id

2019-02-26 16: 15: 29,365 1517-18694 /?I / ActivityManager: START u0 {act = com.google.android.gms.auth.GOOGLE_SIGN_IN pkg = com.google.android.gms cmp = com.google.android.gms / .auth.api.signin.ui.SignInActivity (есть дополнения)} из uid 10351 на дисплее 0

2019-02-26 16: 15: 29.378 1517-31079 /?E / ActivityManager: отправка незащищенной трансляции com.motorola.motocare.INTENT_TRIGGER из системы 4525: com.motorola.process.system / 1000 pkg com.motorola.motgeofencesvc java.lang.Throwable на com.android.server.am.ActivityManagerService.broadcastIntentLocked (ActivityManagerService.java:18226) при com.android.server.am.ActivityManagerService.broadcastIntent (ActivityManagerService.java:18826) при android.app.ActivityManagerNative.onTransact (ActivityManagerNative.java:512) при com.android.server.am.ActivityManagerService.onTransact (ActivityManagerService.java:2906) в android.os.Binder.execTransact (Binder.java:565)

Не хватает некоторых разрешений в манифесте?Любая помощь приветствуется.

...