Expo React Native google auth с firebase не работает в опубликованной версии apk на android - PullRequest
0 голосов
/ 18 июня 2020

Я хотел включить Google Auth в свое приложение, но он не работает в опубликованной версии на android, хотя он работал с expo Вот код:

logInGoogle = async () => {

try {
  const result = await Google.logInAsync({

    androidClientId:ID,
    iosClientId:ID,
    scopes: ["profile", "email"],
    behavior:'web'
  });

  if (result.type === "success") {
    const { idToken, accessToken } = result;
    const credential = GoogleProvider.credential(idToken, accessToken);
    Firebase
      .auth()
      .signInWithCredential(credential)
      .then(function(result){
        if(result.additionalUserInfo.isNewUser){
          Firebase.database().ref('UserToQuestion/' + Firebase.auth().currentUser.uid).set({

            notifier: {
              Email:Firebase.auth().currentUser.email

            }
          })
        }
      })
      .catch(error => {
        Alert.alert(error)
        console.log("firebase cred err:", error);
      });
  } else {
    return { cancelled: true };
  }
} catch (err) {
  console.log("err:", err);
}

  }

Вот мое приложение. json для android

"android": {
  "package": "com.aparson.SFS",
  "versionCode": 1

},

В консоли Google у меня есть рабочая учетная запись службы, но я не настроил экран согласия OAuth, но я не уверен, что это проблема, потому что когда я нажмите кнопку входа в Google, ничего не происходит. Я также изменил сертификат SHA-1 на то, что показала подпись приложения, что кто-то сказал сделать в другом вопросе, но это тоже не сработало.

Буду признателен, если кто-нибудь может помочь. Спасибо

1 Ответ

0 голосов
/ 28 июня 2020

вы должны использовать expo-google-sign-in

expo-google-sign-in обеспечивает собственную аутентификацию Google для автономных приложений Expo или простых приложений React Native. Его нельзя использовать в клиенте Expo, поскольку собственная библиотека GoogleSignIn ожидает ваш REVERSE_CLIENT_ID в info.plist во время сборки. Чтобы использовать аутентификацию Google в клиенте Expo, отметьте expo-google-app-auth или expo-app-auth.

https://docs.expo.io/versions/latest/sdk/google-sign-in/#googleidentity

...