Expo 与 Google 登录的集成

Posted

技术标签:

【中文标题】Expo 与 Google 登录的集成【英文标题】:Expo integration with Google Sign In 【发布时间】:2022-01-05 17:02:18 【问题描述】:

我正在尝试将通过 Google 帐户登录到我的应用程序。我遇到了一个问题。 Expo提供了两种解决方案。

    Google (https://docs.expo.dev/versions/latest/sdk/google/) - 这只能在开发环境中使用。我使用过它,但它在独立应用程序中不起作用,在我的情况下,它会抛出错误“redirect_uri_mismatch”/

    GoogleSignIn (https://docs.expo.dev/versions/latest/sdk/google-sign-in/) - 在模拟器中不起作用,因此我无法将其添加到应用程序中,因为我无法修复潜在错误。

我的问题是我应该使用什么地狱图书馆?

我已经尝试过expo eject 并使用来自 React Native 的 Google 登录。但是我收到一个错误,即 Expo 不支持自定义本机模块。救命!

提前致谢。

【问题讨论】:

【参考方案1】:

编辑:SDK 44 版本

随着 SDK 44 的发布,expo-google-sign-in 现在已被弃用,取而代之的是 expo-auth-session@react-native-google-signin/google-signin 软件包。如果要使用后者,则需要遵循自定义开发客户端路径。

SDK 44 前

我们使用 expo-google-sign-in 库实现了 Google 登录。实现很容易,但您必须使用应用程序的独立版本进行测试,这是难题中唯一有点烦人的部分。

现在使用 EAS 构建独立构建变得更加容易(不确定您是否有帐户,但如果没有,我强烈推荐。)

【讨论】:

所以我必须将应用程序构建为 apk。每次我需要测试它时提交文件? 仅当您需要专门测试社交登录时。【参考方案2】:

我使用了一个 GoogleSignIn 库,但我也为所有将要实现它的人提供专业提示。

无需每次需要测试时都构建项目,您可以构建一次,然后使用更新 OTA,速度要快得多。

【讨论】:

以上是关于Expo 与 Google 登录的集成的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 Google expo auth session 登录错误“尝试完成登录时出现问题”

Expo Google 登录 DEVELOPER_ERROR

Expo Google登录在IOS的试飞中不起作用

在独立的 Android 应用程序上使用 expo-auth-session 进行 Google 登录,浏览器关闭但没有任何反应

使用 expo 客户端响应本机 facebook 登录:input_token 中的 App_id 与查看应用程序不匹配

google 登录崩溃 Apk(React Native)