Если вы используете expo, вы должны настроить вход google
следующим образом. Это моя конфигурация. Вы должны создать androidClientId
и iosClientId
из своей учетной записи и использовать его здесь.
Отказ от ответственности: Это отдельная функция только для входа / подписки a Google
пользователь и получение информации. Чтобы настроить его с помощью Firebase, вы должны добавить и другие функции.
Также убедитесь, что вы импортируете этот пакет. Я столкнулся с подобной проблемой, когда использовал другой пакет.
import * as Google from 'expo-google-app-auth'
Кроме того, вы используете последнюю версию expo
SDK?
async signInWithGoogleAsync() {
try {
const result = await Google.logInAsync({
androidClientId:
'your-id',
iosClientId:
'your-id',
scopes: ['profile', 'email'],
permissions: ['public_profile', 'email', 'gender', 'location']
})
if (result.type === 'success') {
/*put your logic here, I set some states and navigate to home screen
after successful signin.*/
const googleUser = result.user
this.setState({
email: googleUser.email,
name: googleUser.name,
})
this.navigateToLoadingScreen()
return result.accessToken
} else {
return { cancelled: true }
}
} catch (e) {
return { error: true }
}
}