刚接触世博会并且相对较新,因此对任何愚蠢的错误做出反应。
无论如何,尝试遵循 AuthSession 以允许用户使用 google 登录,然后将继续通过 firebase 进行身份验证。与此同时,我只是想让第一部分工作。
到目前为止我的代码如下,运行时没有窗口或任何东西出现,并且 useEffect 钩子的响应为空。
import * as Google from 'expo-auth-session/providers/google';
//other imports
export default function LoginScreen() {
const [request, response, promptAsync] = Google.useAuthRequest({
expoClientId: 'Client-ID-From-Firebase.apps.googleusercontent.com'
/* iosClientId: 'GOOGLE_GUID.apps.googleusercontent.com',
androidClientId: 'GOOGLE_GUID.apps.googleusercontent.com',
webClientId: 'GOOGLE_GUID.apps.googleusercontent.com', */
});
useEffect(()=>{
if(response?.type === 'success'){
console.log("here")
console.log(response)
}else if (response?.type != 'success'){
//Gets here everytime
console.log("Failed")
console.log(response)
}
}, [response])
return(
<View style={styles.container}>
<Text style={styles.header}>Login</Text>
<View style={styles.innerContainer}>
<Entypo name="google--with-circle" size={80} color="red" style={styles.icon}
onPress={()=> promptAsync()}
/>
//Completely irrelevant code below
</View>
</View>
)
}
尝试通过 expo go 使用它。我的猜测是其中一些仅适用于网络应用程序?任何帮助将不胜感激。
先谢谢你。
编辑: 它还返回警告:
可能的未处理的承诺拒绝 (id:0):错误无法在没有定义自定义架构的情况下建立到独立应用的深层链接。
但我的理解是它应该在 expo go 中仍然有效。