Вот как выглядит мой app.config.js. И IOS, и Android имеют разные имена пакетов, поскольку мое приложение для Android было приостановлено, и мне пришлось его переименовать. У меня такое ощущение, что это потому, что имя пакета другое. Есть ли способ обойти это? Или что-то еще сломало его. Пожалуйста, дайте мне знать, что не так :'(
Это происходит только с устройствами Android. Я использую React Native Expo + Firebase для аутентификации
"slug": "iosBundle2023",
"scheme": "iosBundle2023",
...
"ios": {
"bundleIdentifier": "com.myMobileApp.iosBundle2023",
"infoPlist": {
"CFBundleDisplayName": "iosBundle2023"
},
...
},
"android": {
"package": "com.myMobileApp.androidBundleNew",
...
}
}
Вот как выглядит мой код.
import * as Google from 'expo-auth-session/providers/google'
import { GoogleAuthProvider
signInWithCredential
} from 'firebase/auth'
const [request, response, promptAsync] = Google.useIdTokenAuthRequest({
webClientId: Constants.expoConfig?.extra?.GOOGLE_WEB_ID,
clientId: Constants.expoConfig?.extra?.GOOGLE_CLIENT_ID,
iosClientId: Constants.expoConfig?.extra?.GOOGLE_IOS_ID,
androidClientId: Constants.expoConfig?.extra?.GOOGLE_ANDROID_ID,
scopes: ["profile", "email"]
})
useEffect(() => {
if (response?.type === 'success') {
fetchUserInfo(response.authentication.accessToken)
}
}, [response])
async function fetchUserInfo(token) {
const credential = GoogleAuthProvider.credential(null, token)
signInWithCredential(auth, credential)
.then((userCredential) => {
// User is signed in with Firebase, you can access user data here
})
.catch((error) => {
// Handle any errors that occur during sign-in
})
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... e-expo-app