This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
使用 Google 身份验证
编辑页面
一份关于在 Expo 项目中使用 react-native-nitro-google-signin 或 @react-native-google-signin/google-signin 集成 Google 身份验证的指南。
您可以使用以下任一库在您的 Expo 应用中集成 Google 身份验证:
react-native-nitro-google-signin:一个使用现代原生 API 的库。@react-native-google-signin/google-signin:一个被广泛使用的库。
这两个库都提供原生登录按钮,并支持对用户进行身份验证(以及获取使用 Google API 的授权)。由于它们需要自定义原生代码,您需要在 应用配置 中使用 配置插件,并构建一个开发版。
选择库
在这两个库之间进行选择时,请考虑以下差异:
react-native-nitro-google-signin包含对 Android Credential Manager 的支持。@react-native-google-signin/google-signin将 Android Credential Manager API 作为其付费服务的一部分提供。
警告 Android 版旧版 Google Sign-In SDK(
com.google.android.gms:play-services-auth的一部分)已被弃用,Google 建议迁移到 Android Credential Manager。请参阅 关于从旧版 Google Sign-In 迁移。
本指南提供了如何为您的项目配置该库的信息。
1 requirement
1 requirement
这些库不能在 Expo Go 中使用,因为它们需要自定义原生代码。了解更多关于向应用添加自定义原生代码的信息。
安装
根据你想使用的库选择相应的安装指南:
为 Android 和 iOS 配置 Google 项目
以下是如何为 Android 和 iOS 配置 Google 项目的说明。
将应用上传到 Google Play 商店
如果您的应用计划在生产环境中运行,我们建议将应用上传到 Google Play 商店。即使您的项目仍在开发中,您也可以将应用提交到商店进行测试。这使您可以在应用通过 EAS 签名进行测试时测试 Google 登录,以及在应用通过 Google Play App Signing 签名用于商店发布时进行测试。要了解有关应用提交流程的更多信息,请按以下顺序查看以下指南:
配置您的 Firebase 或 Google Cloud Console 项目
请参阅库文档以获取更详细的配置指南:
对于 Android,一旦您上传了应用,在 Firebase 或 Google Cloud Console 中配置项目时,系统会要求您提供 SHA-1 证书指纹值。您可以提供两种类型的值:
- 您构建的 .apk 的指纹(在您的机器上或使用 EAS Build)。您可以在 Google Play Console 的 Release > Setup > App Integrity > Upload key certificate 中找到 SHA-1 证书指纹。
- 从 Play 商店下载的 生产应用 的指纹。您可以在 Google Play Console 的 Release > Setup > App Integrity > App signing key certificate 中找到 SHA-1 证书指纹。
使用 Firebase
有关如何使用 Firebase 为 Android 和 iOS 配置项目的更多说明:
将 google-services.json 和 GoogleService-Info.plist 上传到 EAS
如果您在 Android 和 iOS 中使用 Firebase 方法(如上文各节所述),您需要确保 google-services.json 和 GoogleService-Info.plist 可供 EAS 用于构建应用。您可以将它们提交到代码仓库中,因为这些文件不应包含敏感值;或者您也可以将这些文件视为机密,添加到 .gitignore 中,并使用下面的指南使它们可在 EAS 中使用。
使用 Google Cloud Console
当您不使用 Firebase 时,这是配置 Google 项目的另一种方法。
有关如何使用 Google Cloud Console 为 Android 和 iOS 配置 Google 项目的更多说明: