it-swarm.com.ru

Android Google Plus войдите в вопрос. handleSignInResult возвращает False

Я столкнулся с некоторыми проблемами при интеграции функции входа в Google+. До сих пор я интегрировал все необходимые API-модули и коды G + Sign, которые хорошо работают, сгенерировал и поместил google-services.json в/app после генерации SHA1 с помощью keytool из debug.keystore и вставил SHA1 в облако Google. Консоль разработчика, но теперь есть только одна проблема, с которой я сталкиваюсь за многие дни/недели, т.е. когда я пытаюсь выполнить отладку устройства и всякий раз, когда я нажимаю «G + Sign In», я получаю следующую ошибку в LogCat: 

E/GMPM: сбой getGoogleAppId со статусом: 10 

E/GMPM: загрузка невозможна. Измерение приложения отключено. 

D/SignInActivity: handleSignInResult: false

Этот handleSignInResult все время возвращает False и не может войти в систему для дальнейшего извлечения данных. Если кто-нибудь из вас когда-либо сталкивался с такой ситуацией, пожалуйста, помогите мне здесь. Это маленькое препятствие довольно невыносимо. 

Всем спасибо.

10
rohitpaniker

Вы используете Plus.API или Auth.GOOGLE_SIGN_IN_API? Последний является последним обновленным. Проверьте это здесь: https://developers.google.com/identity/sign-in/Android/sign-in


Если вы используете Auth.GOOGLE_SIGN_IN_API:

В onActivityResult используйте код, аналогичный приведенному ниже, и вы можете получить код состояния, который определяется GoogleSignInStatusCodes: https://developers.google.com/Android/reference/com/google/Android/gms/auth/api/ вход/GoogleSignInStatusCodes

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    // Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
    if (requestCode == RC_SIGN_IN) {
        GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
        int statusCode = result.getStatus().getStatusCode();
    }
}

Наиболее распространенной проблемой является отсутствие правильной регистрации клиента OAuth2. (К сожалению, на данный момент код состояния - INTERNAL_ERROR 8, что бесполезно.) Например. Посмотрите на эту ветку: Получено INTERNAL_ERROR при запросе электронной почты от GoogleSignInOptions Android

7
Isabella Chen

Как указал Судханшу Гаур в этом посте , попробуйте сначала создать подписанный apk, используя тот же ключ, который вы использовали для создания вашего файла конфигурации json . Затем установите его на свое устройство и посмотрите, работает ли он. Причина в том, что Android Studio не подписывает ваш apk, когда вы нажимаете «запустить».
Я застрял на той же самой проблеме, и это исправление работало хорошо для меня.

4
Jason Liu

Убедитесь, что вы применили отладочный ключ SHA-1 при создании файла google-services.json.

4
lRadha

Если вы добавляете все отпечатки SHA-1 в Firebase, вы по-прежнему получаете сообщение об ошибке error.then (Я столкнулся с этой проблемой. После того, как этот шаг решен.) Попробуйте выполнить следующие действия:

1. Перейдите в учетные данные API Google Console Page.

2.Нажмите credentials на вкладке слева.

3. Уже будет два идентификатора клиента Android и Web OAuth по умолчанию. Вам необходимо создать One Android Client и One Web 2.0 Client.

4. Перейдите к Firebase. В настройках проекта загрузите google-services.json и вставьте в папку приложения. 

(Все хорошо, но все равно вы не можете войти в Google, может быть, это проблема OAuth. Поэтому убедитесь, что вы создали Android и идентификатор веб-клиента. Наконец, на странице учетных данных у вас есть 2 идентификатора клиента Android и два идентификатора веб-клиента.)

2
Gopal

вам нужно предоставить хеш SHA-1 вашего сертификата подписи в вашем приложении

пример: 

Зарегистрированные SHA-1:

CF: 4A: A1: 0A: BC: 84: F2: 31: 28: C3: BA: A7: A3: A2: 36: 10: 5F: 1D: 3E: CB И загрузите созданный вами файл конфигурации. . и замените на * yourproject/app/google-service.json

// Получить файл google-service.json tutorial https://developers.google.com/identity/sign-in/Android/start-integrating

// как получить SHA-1 https://developers.google.com/Android/guides/client-auth

1
Exel Staderlin

Сначала сгенерируйте ключ отладки:

keytool -exportcert -list -v \
-alias androiddebugkey -keystore ~/.Android/debug.keystore

Затем вставьте SHA1 в настройки проекта Firebase или Google в разделе отпечатков пальцев.

0
Taras Vovkovych

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

0
Sagar Pithiya