与 Google 登录的 Expo 集成

Expo integration with Google Sign In

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

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

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

我的问题是我到底应该使用什么库?

我已经尝试 expo eject 并使用 Google 从 React Native 登录。但是我收到一个错误,说 Expo 不支持自定义本机模块。求助!

提前致谢。

编辑:SDK 44 版本

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

44 前 SDK

我们已经使用 expo-google-sign-in 库实现了 Google-登录。实施非常简单,但您必须使用独立构建的应用程序进行测试,这是唯一有点烦人的部分。

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

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

不用每次都构建一个项目,当你需要测试它的时候,你可以构建一次,然后只用更新 OTA,这样会更快。